server: fix slow profanity filter

This commit is contained in:
2023-11-10 19:06:18 +01:00
committed by Mathieu Virbel
parent 1c11b328b3
commit 84e425bd3b
3 changed files with 57 additions and 1 deletions

View File

@@ -5,6 +5,7 @@ from pathlib import Path
from profanityfilter import ProfanityFilter
from pydantic import BaseModel, PrivateAttr
from reflector.redis_cache import redis_cache
PUNC_RE = re.compile(r"[.;:?!…]")
@@ -68,10 +69,14 @@ class Transcript(BaseModel):
# Uncensored text
return "".join([word.text for word in self.words])
@redis_cache(prefix="profanity", duration=3600 * 24 * 7)
def _get_censored_text(self, text: str):
return profanity_filter.censor(text).strip()
@property
def text(self):
# Censored text
return profanity_filter.censor(self.raw_text).strip()
return self._get_censored_text(self.raw_text)
@property
def human_timestamp(self):