diff --git a/PFERD/ilias/date_demangler.py b/PFERD/ilias/date_demangler.py index 048df70..9c1fc8d 100644 --- a/PFERD/ilias/date_demangler.py +++ b/PFERD/ilias/date_demangler.py @@ -24,12 +24,17 @@ def demangle_date(date: str) -> Optional[datetime.datetime]: """ saved = locale.setlocale(locale.LC_ALL) try: - locale.setlocale(locale.LC_ALL, 'de_DE.UTF-8') + try: + locale.setlocale(locale.LC_ALL, 'de_DE.UTF-8') + except locale.Error: + PRETTY.warning( + "Could not set language to german. Assuming you use english everywhere." + ) date = re.sub(r"\s+", " ", date) - date = date.replace("Gestern", _yesterday().strftime("%d. %b %Y")) - date = date.replace("Heute", datetime.date.today().strftime("%d. %b %Y")) - date = date.replace("Morgen", _tomorrow().strftime("%d. %b %Y")) + date = re.sub("Gestern|Yesterday", _yesterday().strftime("%d. %b %Y"), date, re.I) + date = re.sub("Heute|Today", datetime.date.today().strftime("%d. %b %Y"), date, re.I) + date = re.sub("Morgen|Tomorrow", _tomorrow().strftime("%d. %b %Y"), date, re.I) return datetime.datetime.strptime(date, "%d. %b %Y, %H:%M") except ValueError: PRETTY.warning(f"Could not parse date {date!r}")