fix matches (PCRE uses weird 1 indexing)

remotes/1693176582716663532/tmp_refs/heads/watchparty
justcool393 2022-11-03 18:11:22 -05:00
parent c6b1d90dd8
commit 118a58c104
1 changed files with 4 additions and 4 deletions

View File

@ -116,11 +116,11 @@ pronouns_regex = re.compile("([a-z]{1,5})/[a-z]{1,5}(/[a-z]{1,5})?", flags=re.A|
knowledgebase_page_regex = re.compile("[a-zA-Z0-9_\-]+", flags=re.A)
def sub_matcher(match:re.Match, upper=False, replace_with:Union[dict[str, str], dict[str, List[str]]]=SLURS):
if match.group(0).startswith('<'):
return match.group(0)
group_num = 0 if len(match.groups()) == 0 else 1
if match.group(group_num).startswith('<'):
return match.group(group_num)
else:
group = 1 if len(match.groups()) > 1 else 0
repl = replace_with[match.group(group).lower()]
repl = replace_with[match.group(group_num).lower()]
if not isinstance(repl, str):
repl = random.choice(repl)
return repl if not upper or "<img" in repl else repl.upper()