from pathlib import Path
p=Path('/opt/struktur/social-media-radar/intake/multi_intake.py')
s=p.read_text()
s=s.replace('import re\nimport json\n', 'import re\nimport json\nimport unicodedata\n', 1)
old=''' value = (raw or "").strip()
if not value:
return ""
if "T" in value and (value.endswith("Z") or "+" in value or value.count(":") >= 2):
return value
m = re.search(r"(?:vor|hace)\\s+(\\d+)\\s+(minute|minutes|minuten|minuto|stunde|stunden|hora|horas|tag|tage|dia|dias|día|días|woche|wochen|semana|semanas|day|days|week|weeks)\\b|\\b(\\d+)\\s+(minutes?|hours?|days?|weeks?)\\s+ago", value.casefold())
'''
new=''' value = (raw or "").strip()
if not value:
return ""
if "T" in value and (value.endswith("Z") or "+" in value or value.count(":") >= 2):
return value
folded = "".join(c for c in unicodedata.normalize("NFKD", value.casefold()) if not unicodedata.combining(c))
m = re.search(r"(?:vor|hace)\\s+(\\d+)\\s+(minuten?|minutos?|hours?|stunden?|horas?|tage?|dias?|weeks?|wochen?|semanas?)|(?:^|\\s)(\\d+)\\s+(minutes?|hours?|days?|weeks?)\\s+ago", folded)
'''
assert old in s
s=s.replace(old,new,1)
s=s.replace(' unit = (m.group(2) or m.group(4)).casefold()\n', ' unit = (m.group(2) or m.group(4)).casefold()\n', 1)
p.write_text(s)