localizationClient.py (2002B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\carbon\client\script\localization\localizationClient.py 2 import blue 3 from carbon.common.script.sys.service import Service, ROLE_QA 4 import localization 5 import localization.settings 6 from player_messaging.client.ui_message import message_player 7 from localization.logger import LogInfo 8 from uthread2 import StartTasklet 9 10 class LocalizationClient(Service): 11 __guid__ = 'svc.localizationClient' 12 __notifyevents__ = ['OnCharacterSessionChanged', 'OnUpdateLocalizationTextCache'] 13 14 def Run(self, memStream = None): 15 super(LocalizationClient, self).Run(memStream) 16 self.broadcasting = False 17 18 def OnCharacterSessionChanged(self, oldCharacterID, _newCharacterID): 19 if oldCharacterID is None: 20 if session.role & ROLE_QA == ROLE_QA: 21 sm.RemoteSvc('localizationServer').UpdateLocalizationQAWrap(localization.settings.qaSettings.LocWrapSettingsActive()) 22 hashData = localization.GetHashDataDictionary() 23 if len(hashData) > 0 and not blue.pyos.packaged: 24 LogInfo('Localization Client: preparing to load initial text and label data from server') 25 sm.RemoteSvc('localizationServer').GetAllTextChanges(hashData) 26 LogInfo('Localization Client: done asking for initial text and label data from server') 27 28 def OnUpdateLocalizationTextCache(self, cacheData): 29 messagePerLanguage, metaDataPerLanguage, labelsDict = cacheData 30 if messagePerLanguage or metaDataPerLanguage or labelsDict: 31 localization.UpdateTextCache(messagePerLanguage, metaDataPerLanguage, labelsDict) 32 if not self.broadcasting: 33 self.broadcasting = True 34 StartTasklet(self.DeferredBroadcastMessage) 35 36 def DeferredBroadcastMessage(self): 37 blue.synchro.SleepWallclock(30000) 38 message_player('Your localization content has been updated.') 39 self.broadcasting = False