ship_skin_listing_link_handler.py (1174B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\cosmetics\client\ships\link\ship_skin_listing_link_handler.py 2 import uuid 3 from cosmetics.client.ships.link.scheme import LinkScheme 4 from cosmetics.client.shipSkinTradingSvc import get_ship_skin_trading_svc 5 from eve.client.script.ui.cosmetics.ship.shipSKINRWindow import ShipSKINRWindow 6 from player_messaging.client.ui_message import message_player 7 from cosmetics.client.ships.skins.errors import get_listing_error_text 8 from localization import GetByLabel 9 10 def register_link_handlers(registry): 11 registry.register(scheme=LinkScheme.SHIP_SKIN_LISTING, handler=handle_link, hint='UI/Personalization/ShipSkins/ShipSkinListingLinkHint') 12 13 14 def handle_link(url): 15 listing_id = _parse_url(url) 16 listing, error = get_ship_skin_trading_svc().get_listing(listing_id) 17 if error is not None: 18 message_player(GetByLabel(get_listing_error_text(error))) 19 ShipSKINRWindow.open_external_skin_listing(listing) 20 21 22 def _parse_url(url): 23 _, listing_id = url.split(':') 24 try: 25 listing_id = uuid.UUID(listing_id) 26 except ValueError: 27 return None 28 29 return listing_id