securityOfficeSvc.py (1480B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\station\securityOfficeSvc.py 2 import crimewatch.const 3 from carbon.common.script.sys.service import Service 4 from collections import defaultdict 5 from eve.common.lib.appConst import stationOwnersWithSecurityService 6 from eveuniverse.security import is_low_sec_solar_system 7 from inventorycommon.const import containerHangar, flagHangar 8 9 class SecurityOfficeService(Service): 10 __guid__ = 'svc.securityOfficeSvc' 11 __dependencies__ = ['ui', 'invCache'] 12 __startupdependencies__ = [] 13 __notifyevents__ = [] 14 15 def CanAccessServiceInStation(self, stationID): 16 stationInfo = self.ui.GetStationStaticInfo(stationID) 17 if stationInfo is not None: 18 if self.ui.GetStationOwner(stationID) in stationOwnersWithSecurityService: 19 if self.CanAccessServiceInSolarSystem(stationInfo.solarSystemID): 20 return True 21 return False 22 23 def GetTagsInHangar(self): 24 invContainer = self.invCache.GetInventory(containerHangar) 25 items = invContainer.List(flagHangar) 26 tagCountByTypeID = defaultdict(int) 27 for item in items: 28 if item.typeID in crimewatch.const.securityLevelsPerTagType: 29 tagCountByTypeID[item.typeID] += item.stacksize 30 31 return tagCountByTypeID 32 33 def CanAccessServiceInSolarSystem(self, solarSystemID): 34 return is_low_sec_solar_system(solarSystemID)