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

linkUtil.py (1233B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\util\linkUtil.py
      2 from carbonui.util.stringManip import GetAsUnicode
      3 import evelink.client
      4 from eve.common.lib import appConst
      5 
      6 def IsLink(text):
      7     textAsUnicode = GetAsUnicode(text)
      8     if textAsUnicode.find('<url') != -1:
      9         return True
     10     if textAsUnicode.find('<a href') != -1:
     11         return True
     12     return False
     13 
     14 
     15 def GetCharIDFromTextLink(node):
     16     validTypeIDs = appConst.characterTypes
     17     return GetItemIDFromTextLink(node, validTypeIDs)
     18 
     19 
     20 def GetTextLinkUrl(node):
     21     if getattr(node, '__guid__', None) != 'TextLink':
     22         return
     23     return getattr(node, 'url', None)
     24 
     25 
     26 def GetItemIDFromTextLink(node, validTypeIDs = None):
     27     url = GetTextLinkUrl(node)
     28     if url is None:
     29         return
     30     try:
     31         parsed = evelink.parse_show_info_url(url)
     32     except Exception:
     33         return
     34 
     35     if validTypeIDs and parsed.type_id not in validTypeIDs:
     36         return
     37     return parsed.item_id
     38 
     39 
     40 def GetTypeIDFromTextLink(node):
     41     url = GetTextLinkUrl(node)
     42     if url is None:
     43         return
     44     try:
     45         parsed = evelink.parse_show_info_url(url)
     46     except Exception:
     47         return
     48 
     49     return parsed.type_id