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

paste.py (1336B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\cosmetics\client\ships\link\validators\paste.py
      2 import re
      3 from carbon.common.script.util.commonutils import StripTags
      4 from chat.client.local_chat.validators.paste import PasteValidator
      5 
      6 class ShipSkinLinkValidator(PasteValidator):
      7 
      8     def sanitize_match(self, match):
      9         start_tag = match.groups()[0]
     10         link_name = match.groups()[1]
     11         end_tag = match.groups()[2]
     12         link_name_no_tags = StripTags(link_name)
     13         return u'{0}{1}{2}'.format(start_tag, link_name_no_tags, end_tag)
     14 
     15 
     16 class ShipSkinDesignLinkValidator(ShipSkinLinkValidator):
     17 
     18     def validate(self, text):
     19         try:
     20             pattern = re.compile('(<a href=\\"shipSkinDesign:\\d+/[a-z0-9-]+\\">)(.+)(</a>)')
     21             link = re.match(pattern, text)
     22             if link:
     23                 return self.sanitize_match(link)
     24             return None
     25         except:
     26             return None
     27 
     28 
     29 class ShipSkinListingLinkValidator(ShipSkinLinkValidator):
     30 
     31     def validate(self, text):
     32         try:
     33             pattern = re.compile('(<a href=\\"shipSkinListing:[a-z0-9-]+\\">)(.+)(</a>)')
     34             link = re.match(pattern, text)
     35             if link:
     36                 return self.sanitize_match(link)
     37             return None
     38         except:
     39             return None