link.py (960B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\shared\bookmarks\link.py 2 import evelink.client 3 from carbon.common.lib.const import maxInt 4 SCHEME = 'bookmarkFolder' 5 6 def register_link_handlers(registry): 7 registry.register(SCHEME, handle_bookmark_folder_link, hint='UI/AclBookmarks/BookmarkFolderLinkHint', color_info=evelink.settings_link_color_info) 8 9 10 def handle_bookmark_folder_link(url): 11 folder_id = parse_bookmark_folder_url(url) 12 sm.GetService('bookmarkSvc').ShowBookmarkFolderInfo(folder_id) 13 14 15 def parse_bookmark_folder_url(url): 16 folder_id = int(url.split(':')[1]) 17 if maxInt < folder_id < 1: 18 raise ValueError('Bookmark folder ID out of range') 19 return folder_id 20 21 22 def bookmark_folder_link(folder_id, name): 23 return evelink.Link(url=format_bookmark_folder_url(folder_id), text=name) 24 25 26 def format_bookmark_folder_url(folder_id): 27 return u'{}:{}'.format(SCHEME, folder_id)