diff options
| author | Étienne Loks <etienne.loks@iggdrasil.net> | 2025-11-04 18:12:57 +0100 |
|---|---|---|
| committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2025-11-05 16:38:48 +0100 |
| commit | badb986f55ef850baca5571e05ad1d5a9d66b745 (patch) | |
| tree | 121266c8bd1b56c4f2f700bc1b23063361c1a0e5 /ishtar_common/urls_converters.py | |
| parent | 120519b60a78b9161ea869427b6739a46d19053c (diff) | |
| download | Ishtar-badb986f55ef850baca5571e05ad1d5a9d66b745.tar.bz2 Ishtar-badb986f55ef850baca5571e05ad1d5a9d66b745.zip | |
🐛 fix history with non naive date call
Diffstat (limited to 'ishtar_common/urls_converters.py')
| -rw-r--r-- | ishtar_common/urls_converters.py | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/ishtar_common/urls_converters.py b/ishtar_common/urls_converters.py index 3fe593692..a1809fdb7 100644 --- a/ishtar_common/urls_converters.py +++ b/ishtar_common/urls_converters.py @@ -17,7 +17,7 @@ # See the file COPYING for details. -from datetime import datetime +import datetime class UnderscoreSlug: @@ -35,9 +35,16 @@ class DateTimeConverter: date_format = '%Y-%m-%dT%H:%M:%S.%f' def to_python(self, value): - return datetime.strptime(value, self.date_format) + tz = None + if "+" in value: + value, tz = value.split("+") + date = datetime.datetime.strptime(value, self.date_format) + if tz and len(tz) == 5: + hours, minutes = tz.split(":") + date = date - datetime.timedelta(hours=int(hours), minutes=int(minutes)) + return date def to_url(self, value): - if isinstance(value, datetime): + if isinstance(value, datetime.datetime): return value.strftime(self.date_format) return value |
