ledgerSvc.py (1484B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\shared\ledger\ledgerSvc.py 2 from caching.memoize import Memoize 3 from carbon.common.script.sys.service import Service 4 from utillib import KeyVal 5 6 class LedgerSvc(Service): 7 __guid__ = 'svc.ledger' 8 __servicename__ = 'LedgerSvc' 9 __notifyevents__ = ['OnSessionReset'] 10 11 def Run(self, memStream = None): 12 self.LogInfo('Starting Ledger Service') 13 self.personalDataVersion = 0 14 15 def OnSessionReset(self): 16 self.GetPersonalData.clear_memoized() 17 self.personalDataVersion = 0 18 19 @Memoize(5) 20 def GetPersonalData(self): 21 self.personalDataVersion += 1 22 return (sm.RemoteSvc('characterMiningLedger').GetCharacterLogs(), self.personalDataVersion) 23 24 def GetStructuresForCorpData(self): 25 structuresWithMiningEvents = sm.RemoteSvc('corpMiningLedger').GetObserversWithMiningEvents() 26 myCorpStructures = {} 27 solarSystemIDs = set() 28 for eachStructure in structuresWithMiningEvents: 29 solarSystemIDs.add(eachStructure.solarSystemID) 30 keyVal = KeyVal(itemID=eachStructure.itemID, solarSystemID=eachStructure.solarSystemID, itemName=eachStructure.itemName) 31 myCorpStructures[eachStructure.itemID] = keyVal 32 33 return (myCorpStructures, list(solarSystemIDs)) 34 35 def GetCorpData(self, structureID): 36 return sm.RemoteSvc('corpMiningLedger').GetObserverLedger(structureID)