From 435e8a482dce01624cc3973615825271869f8ab4 Mon Sep 17 00:00:00 2001 From: Joseph Cheung Date: Thu, 2 Mar 2023 00:16:06 +0800 Subject: [PATCH] c --- searx/webapp.py | 59 ------------------------------------------------ searx/webapp1.py | 59 ------------------------------------------------ 2 files changed, 118 deletions(-) diff --git a/searx/webapp.py b/searx/webapp.py index 259d121b2..a0616cb21 100755 --- a/searx/webapp.py +++ b/searx/webapp.py @@ -2079,65 +2079,6 @@ class DFA: ss += _str[i] pos_list.append(i) return ss - def __init__(self): - self.keyword_chains = {} - self.delimit = '\x00' - - def add(self, keyword): - if not isinstance(keyword, str): - keyword = keyword.decode('utf-8') - keyword = keyword.lower() - chars = keyword.strip() - if not chars: - return - level = self.keyword_chains - for i in range(len(chars)): - if chars[i] in level: - level = level[chars[i]] - else: - if not isinstance(level, dict): - break - for j in range(i, len(chars)): - level[chars[j]] = {} - last_level, last_char = level, chars[j] - level = level[chars[j]] - last_level[last_char] = {self.delimit: 0} - break - if i == len(chars) - 1: - level[self.delimit] = 0 - - def parse(self, path): - with open(path) as f: - for keyword in f: - self.add(keyword.strip()) - - def filter(self, message, repl="*"): - if not isinstance(message, str): - message = message.decode('utf-8') - message = message.lower() - ret = [] - start = 0 - while start < len(message): - level = self.keyword_chains - step_ins = 0 - for char in message[start:]: - if char in level: - step_ins += 1 - if self.delimit not in level[char]: - level = level[char] - else: - return True - ret.append(repl * step_ins) - start += step_ins - 1 - break - else: - ret.append(message[start]) - break - else: - ret.append(message[start]) - start += 1 - - return False gfw = DFA() def run(): logger.debug('starting webserver on %s:%s', settings['server']['bind_address'], settings['server']['port']) diff --git a/searx/webapp1.py b/searx/webapp1.py index 5e3c71a25..b5bf27e5a 100644 --- a/searx/webapp1.py +++ b/searx/webapp1.py @@ -3126,65 +3126,6 @@ class DFA: ss += _str[i] pos_list.append(i) return ss - def __init__(self): - self.keyword_chains = {} - self.delimit = '\x00' - - def add(self, keyword): - if not isinstance(keyword, str): - keyword = keyword.decode('utf-8') - keyword = keyword.lower() - chars = keyword.strip() - if not chars: - return - level = self.keyword_chains - for i in range(len(chars)): - if chars[i] in level: - level = level[chars[i]] - else: - if not isinstance(level, dict): - break - for j in range(i, len(chars)): - level[chars[j]] = {} - last_level, last_char = level, chars[j] - level = level[chars[j]] - last_level[last_char] = {self.delimit: 0} - break - if i == len(chars) - 1: - level[self.delimit] = 0 - - def parse(self, path): - with open(path) as f: - for keyword in f: - self.add(keyword.strip()) - - def filter(self, message, repl="*"): - if not isinstance(message, str): - message = message.decode('utf-8') - message = message.lower() - ret = [] - start = 0 - while start < len(message): - level = self.keyword_chains - step_ins = 0 - for char in message[start:]: - if char in level: - step_ins += 1 - if self.delimit not in level[char]: - level = level[char] - else: - return True - ret.append(repl * step_ins) - start += step_ins - 1 - break - else: - ret.append(message[start]) - break - else: - ret.append(message[start]) - start += 1 - - return False gfw = DFA() def run(): logger.debug('starting webserver on %s:%s', settings['server']['bind_address'], settings['server']['port'])