Ticket #535: Plus.py.patch

File Plus.py.patch, 3.2 kB (added by FMulder, 9 months ago)

new version, I have fixed the situation where a contact has color code at begin and color hex at end (or reverse)

  • plugins_base/Plus.py

    old new  
    3737'000047','06502f','1c5300','544d05') 
    3838 
    3939colorCodesHex = re.compile('\[[cC]=#([0-9A-Fa-f]{6})\](.*?)\[/[cC]\]') 
     40colorCodesHexGradient = re.compile('\[[cC]=#([0-9A-Fa-f]{6})\](.*?)\[/[cC]=([0-9]{1,2}|#[0-9A-Fa-f]{6})\]') 
    4041colorCodesCode = re.compile('\[[cC]=([0-9]{1,2})\](.*?)\[/[cC]\]') 
     42colorCodesCodeGradient = re.compile('\[[cC]=([0-9]{1,2})\](.*?)\[/[cC]=([0-9]{1,2}|#[0-9A-Fa-f]{6})\]') 
    4143 
    4244backColorCodesHex = re.compile('\[[aA]=#([0-9A-Fa-f]{6})\](.*?)\[/[aA]\]') 
     45backColorCodesHexGradient = re.compile('\[[aA]=#([0-9A-Fa-f]{6})\](.*?)\[/[aA]=([0-9]{1,2}|#[0-9A-Fa-f]{6})\]') 
    4346backColorCodesCode = re.compile('\[[aA]=([0-9]{1,2})\](.*?)\[/[aA]\]') 
     47backColorCodesCodeGradient = re.compile('\[[aA]=([0-9]{1,2})\](.*?)\[/[aA]=([0-9]{1,2}|#[0-9A-Fa-f]{6})\]') 
    4448 
    4549#colorIrcCode = re.compile("\xc2\xb7\$([0-9]{1,2}),([0-9]{1,2})|·\$([0-9]{1,2}).*?") 
    4650colorIrcCode = re.compile("\xc2\xb7\$([0-9]{1,2})?,?([0-9]{1,2})?") 
     
    6569 
    6670span = re.compile('(<span.*?>)|(</span>)') 
    6771 
    68 removeList = (colorCodesHex, colorCodesCode, backColorCodesHex, backColorCodesCode) 
     72removeList = (colorCodesHex, colorCodesHexGradient, colorCodesCode, colorCodesCodeGradient, backColorCodesHex, backColorCodesHexGradient, backColorCodesCode, backColorCodesCodeGradient) 
    6973 
    7074getTagDict = { 
    7175    'background': ('background="#%s" ','background-color: #%s; '), 
     
    120124            text = q(formatIrc, tag, text) 
    121125 
    122126        text = re.sub( colorCodesHex, self.hexToTag, text ) 
     127        text = re.sub( colorCodesHexGradient, self.hexToTag, text ) 
    123128        text = re.sub( colorCodesCode, self.codeToTag, text ) 
     129        text = re.sub( colorCodesCodeGradient, self.codeToTag, text ) 
    124130 
    125131        text = re.sub( backColorCodesHex, self.bHexToTag, text ) 
     132        text = re.sub( backColorCodesHexGradient, self.bHexToTag, text ) 
    126133        text = re.sub( backColorCodesCode, self.bCodeToTag, text ) 
     134        text = re.sub( backColorCodesCodeGradient, self.bCodeToTag, text ) 
    127135         
    128136        text = re.sub( colorIrcCode, self.ircCodeToTag, text )  
    129137 
     
    174182            return text 
    175183         
    176184    def hexToTag( self, data ): 
    177         color, text = data.groups() 
     185        color = data.group(1) 
     186        text = data.group(2) 
    178187        return self.getTag({'foreground': color.lower()}, text) 
    179188   
    180189    def codeToTag( self, data ): 
    181         code, text = data.groups() 
     190        code = data.group(1) 
     191        text = data.group(2) 
    182192        if int(code) <= len(colorCodes): 
    183193            hex = colorCodes[int(code)].lower() 
    184194            return self.getTag({'foreground': hex}, text) 
     
    186196            return text 
    187197             
    188198    def bHexToTag( self, data ): 
    189         color, text = data.groups() 
     199        color = data.group(1) 
     200        text = data.group(2) 
    190201        return self.getTag({'background': color.lower()}, text)  
    191202         
    192203    def bCodeToTag( self, data ): 
    193         code, text = data.groups() 
     204        code = data.group(1) 
     205        text = data.group(2) 
    194206        if int(code) <= len(colorCodes): 
    195207            hex = colorCodes[int(code)].lower() 
    196208            return self.getTag({'background': hex}, text)