mirror of
https://github.com/simon987/od-database.git
synced 2025-04-10 14:06:45 +00:00
32 lines
821 B
Python
32 lines
821 B
Python
import os
|
|
|
|
try:
|
|
from fold_to_ascii.fold_to_ascii import mapping
|
|
except:
|
|
from ..fold_to_ascii.fold_to_ascii import mapping
|
|
|
|
|
|
class SearchFilter:
|
|
|
|
def __init__(self):
|
|
|
|
self.blacklisted_terms = set()
|
|
self.table = str.maketrans(dict(mapping.translate_table))
|
|
|
|
if os.path.exists("search_blacklist.txt"):
|
|
with open("search_blacklist.txt") as f:
|
|
self.blacklisted_terms.update(line.strip() for line in f.readlines() if line[0] != "#" and line.strip())
|
|
|
|
def should_block(self, query) -> bool:
|
|
|
|
query = query.translate(self.table)
|
|
query = query.lower()
|
|
|
|
for raw_token in query.split():
|
|
|
|
token = raw_token.strip("\"'/\\").strip()
|
|
if token in self.blacklisted_terms:
|
|
return True
|
|
|
|
return False
|