killReportUtil.py (1605B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\shared\killReportUtil.py 2 from carbon.common.script.util.commonutils import StripTags 3 from carbonui import uiconst 4 from carbonui.uicore import uicore 5 SCHEME_KILL_REPORT = 'killReport' 6 7 def CleanKillMail(killMailText): 8 ret = killMailText 9 if '<localized' in ret: 10 ret = ret.replace('*</localized>', '</localized>') 11 ret = StripTags(ret, stripOnly=['localized']) 12 return ret.replace('<br>', '\r\n').replace('<t>', ' ') 13 14 15 def OpenKillReport(kill, *args): 16 if uicore.uilib.Key(uiconst.VK_SHIFT): 17 windowID = 'KillReport_%i' % kill.killID 18 else: 19 windowID = 'KillReportWnd' 20 from eve.client.script.ui.shared.killReport import KillReportWnd 21 wnd = KillReportWnd.GetIfOpen(windowID) 22 if wnd: 23 wnd.LoadInfo(killmail=kill) 24 wnd.Maximize() 25 else: 26 KillReportWnd.Open(create=1, killmail=kill, windowID=windowID) 27 28 29 def register_link_handlers(registry): 30 registry.register(scheme=SCHEME_KILL_REPORT, handler=handle_kill_report_link, hint='UI/Corporations/Wars/Killmails/KillReport') 31 32 33 def handle_kill_report_link(url): 34 kill_id, hash_value = parse_kill_report_url(url) 35 kill = sm.RemoteSvc('warStatisticMgr').GetKillMail(kill_id, hash_value) 36 if kill is not None: 37 OpenKillReport(kill) 38 39 40 def parse_kill_report_url(url): 41 _, kill_id, hash_value = url.split(':') 42 return (int(kill_id), hash_value) 43 44 45 def format_kill_report_url(kill_id, hash_value): 46 return u'{}:{}:{}'.format(SCHEME_KILL_REPORT, kill_id, hash_value)