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

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