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