NovaBryan/EVE_Dump
Log | Files | 📦 下载最新源码 (.zip) | Refs | README

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)