cosmeticsLicenseSvc.py (5488B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\cosmetics\client\cosmeticsLicenseSvc.py 2 from featuremanagement.client.flag import flag_bool 3 from carbon.common.script.sys.service import Service 4 from carbon.common.script.sys.serviceConst import ROLE_QA 5 from cosmetics.client.shipEmblemLicensesController import ShipEmblemLicensesController 6 from cosmetics.client.structurePaintworkLicensesController import StructurePaintworkLicensesController 7 from shipcosmetics.common.const import REMOVE_EMBLEMS_LP_COST_FLAG_DEFAULT, ENABLE_LP_HERALDRY_PURCHASES_FLAG_DEFAULT, ENABLE_LP_HERALDRY_PURCHASES_FLAG, REMOVE_EMBLEMS_LP_COST_FLAG 8 from shipcosmetics.client.licensegateway.licenseSignals import on_enable_heraldry_purchase_flag_change 9 10 class CosmeticsLicenseService(Service): 11 __guid__ = 'svc.cosmeticsLicenseSvc' 12 __startupdependencies__ = ['publicGatewaySvc'] 13 __notifyevents__ = ['OnSessionChanged'] 14 15 def Run(self, memStream = None): 16 Service.Run(self, memStream) 17 self._ship_emblems_licenses_controller = ShipEmblemLicensesController() 18 self._structure_paintwork_licenses_controller = StructurePaintworkLicensesController(self._get_public_gateway()) 19 self._remove_emblems_lp_cost = REMOVE_EMBLEMS_LP_COST_FLAG_DEFAULT 20 flag_bool(key=REMOVE_EMBLEMS_LP_COST_FLAG, default_value=REMOVE_EMBLEMS_LP_COST_FLAG_DEFAULT, callback=self._on_emblems_flag_changed) 21 self._enable_lp_heraldry_purchases = ENABLE_LP_HERALDRY_PURCHASES_FLAG_DEFAULT 22 flag_bool(key=ENABLE_LP_HERALDRY_PURCHASES_FLAG, default_value=ENABLE_LP_HERALDRY_PURCHASES_FLAG_DEFAULT, callback=self._on_heraldry_purchase_flag_changed) 23 24 def OnSessionChanged(self, _isRemote, _session, change): 25 if 'charid' in change: 26 self._ship_emblems_licenses_controller.flush_cache() 27 if 'corpid' in change: 28 self._structure_paintwork_licenses_controller.flush_cache() 29 30 def _get_public_gateway(self): 31 return sm.GetService('publicGatewaySvc') 32 33 def is_emblem_lp_cost_removed(self): 34 return self._remove_emblems_lp_cost 35 36 def are_heraldry_purchases_enabled(self): 37 return self._enable_lp_heraldry_purchases 38 39 def _on_emblems_flag_changed(self, evaluate_flag): 40 self._remove_emblems_lp_cost = evaluate_flag() 41 42 def _on_heraldry_purchase_flag_changed(self, evaluate_flag): 43 previous_value = self._enable_lp_heraldry_purchases 44 self._enable_lp_heraldry_purchases = evaluate_flag() 45 if self._enable_lp_heraldry_purchases != previous_value: 46 on_enable_heraldry_purchase_flag_change(self._enable_lp_heraldry_purchases) 47 48 def is_ship_license_owned(self, license_id): 49 return self._ship_emblems_licenses_controller.is_ship_license_owned(license_id) 50 51 def get_all_ship_licenses(self): 52 return self._ship_emblems_licenses_controller.get_all_ship_licenses() 53 54 def get_all_licensed_ship_groups(self): 55 return self._ship_emblems_licenses_controller.get_all_licensed_ship_groups() 56 57 def get_owned_ship_licenses(self, force_refresh = False): 58 return self._ship_emblems_licenses_controller.get_owned_ship_licenses(force_refresh=force_refresh) 59 60 def get_unowned_ship_licenses(self, force_refresh = False): 61 return self._ship_emblems_licenses_controller.get_unowned_ship_licenses(force_refresh=force_refresh) 62 63 def get_owned_ship_licenses_for_ship(self, ship_id, force_refresh = False): 64 return self._ship_emblems_licenses_controller.get_owned_ship_licenses_for_ship(ship_id, force_refresh=force_refresh) 65 66 def get_ship_licenses_for_ship_type(self, ship_type_id): 67 return self._ship_emblems_licenses_controller.get_ship_licenses_for_ship_type(ship_type_id) 68 69 def get_by_ship_license_type_id(self, license_id): 70 return self._ship_emblems_licenses_controller.get_by_ship_license_type_id(license_id) 71 72 def debug_grant_ship_cosmetics_license(self, license_id): 73 return self._ship_emblems_licenses_controller.debug_grant_ship_cosmetics_license(license_id) 74 75 def debug_revoke_ship_cosmetics_license(self, license_id): 76 return self._ship_emblems_licenses_controller.debug_revoke_ship_cosmetics_license(license_id) 77 78 def request_license_for_structures(self, structure_ids, paintwork, duration): 79 return self._structure_paintwork_licenses_controller.request_license_for_structures(structure_ids, paintwork, duration) 80 81 def get_structure_paintwork_license(self, structure_id, license_id): 82 return self._structure_paintwork_licenses_controller.get_license(structure_id, license_id) 83 84 def request_revoke_license_for_structure(self, license_id): 85 return self._structure_paintwork_licenses_controller.request_revoke_license(license_id) 86 87 def get_structure_paintwork_licenses_catalogue(self): 88 return self._structure_paintwork_licenses_controller.get_structure_paintwork_licenses_catalogue() 89 90 def get_structure_licenses_for_corporation(self): 91 return self._structure_paintwork_licenses_controller.get_licenses_for_corporation() 92 93 def flush_paintwork_cache(self): 94 self._structure_paintwork_licenses_controller.flush_cache() 95 96 def admin_request_license_for_structures(self, structure_ids, paintwork, duration, lp_cost = -1): 97 if session.role & ROLE_QA: 98 return self._structure_paintwork_licenses_controller.admin_request_license_for_structures(structure_ids, paintwork, duration, lp_cost)