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

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