filter.py (1319B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\chatutil\filter.py 2 import re 3 BANNED_PATTERN = None 4 HIGHLIGHT_PATTERN = None 5 BANNED_REPLACEMENT = '***' 6 7 def UpdateChatFilterVariables(bannedWordList, highlightWordList): 8 global BANNED_PATTERN 9 global HIGHLIGHT_PATTERN 10 bannedWordText = '|'.join((re.escape(word) for word in bannedWordList)) 11 hightlightdWordText = '|'.join((re.escape(word) for word in highlightWordList)) 12 if bannedWordText: 13 BANNED_PATTERN = re.compile(bannedWordText, re.IGNORECASE) 14 else: 15 BANNED_PATTERN = None 16 if hightlightdWordText: 17 HIGHLIGHT_PATTERN = re.compile(hightlightdWordText, re.IGNORECASE) 18 else: 19 HIGHLIGHT_PATTERN = None 20 21 22 def CleanAndHighlightText(txt): 23 txt = CleanText(txt) 24 if HIGHLIGHT_PATTERN and HIGHLIGHT_PATTERN.search(txt): 25 txt = HIGHLIGHT_PATTERN.sub(GetHighlightedText, txt) 26 return txt 27 28 29 def CleanText(txt): 30 if BANNED_PATTERN: 31 txt = BANNED_PATTERN.sub(BANNED_REPLACEMENT, txt) 32 return txt 33 34 35 def GetHighlightedText(matchobj): 36 return '<b><color=green>%s</color></b>' % matchobj.group(0) 37 38 39 def ShouldHightlightBlink(txt): 40 if not HIGHLIGHT_PATTERN: 41 return False 42 if HIGHLIGHT_PATTERN.search(txt): 43 return True 44 return False