link.py (1153B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\skillPlan\link.py 2 import uuid 3 import evelink.client 4 SCHEME_SKILL_PLAN = 'skillPlan' 5 link_color_info = evelink.LinkColorInfo(normal='#94ccff', hover='#aed9ff') 6 7 def register_link_handlers(registry): 8 registry.register(SCHEME_SKILL_PLAN, handle_link, hint='UI/SkillPlan/SkillPlan') 9 10 11 def handle_link(url): 12 skillPlanID, ownerID = parse_skillPlanID_url(url) 13 from eve.client.script.ui.skillPlan.skillPlanPanelWnd import OpenSkillPlanWnd 14 OpenSkillPlanWnd(skillPlanID, ownerID) 15 16 17 def parse_skillPlanID_url(url): 18 _, skillPlanID, ownerID = url.split(':') 19 try: 20 skillPlanID = int(skillPlanID) 21 except ValueError: 22 skillPlanID = uuid.UUID(skillPlanID) 23 24 try: 25 ownerID = int(ownerID) 26 except ValueError: 27 ownerID = None 28 29 return (skillPlanID, ownerID) 30 31 32 def format_skill_plan_url(skillPlanID, ownerID): 33 return u'{}:{}:{}'.format(SCHEME_SKILL_PLAN, skillPlanID, ownerID) 34 35 36 def skillplan_link(planID, name, ownerID = None): 37 return evelink.Link(url=format_skill_plan_url(planID, ownerID), text=name)