From 5802107cdf3073f4e4dfbfcb417cf5d9329025a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mike=20F=C3=A4hrmann?= Date: Sun, 19 Oct 2025 18:51:42 +0200 Subject: [PATCH] [dt] update representation of invalid datetime objects --- gallery_dl/dt.py | 8 +++++++- test/test_dt.py | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/gallery_dl/dt.py b/gallery_dl/dt.py index a09e028e..74e65fe3 100644 --- a/gallery_dl/dt.py +++ b/gallery_dl/dt.py @@ -18,8 +18,14 @@ class NullDatetime(datetime): def __bool__(self): return False + def __str__(self): + return "[Invalid DateTime]" -NONE = NullDatetime(101, 1, 1) + def __format__(self, format_spec): + return f"[Invalid DateTime {format_spec}]" + + +NONE = NullDatetime(1, 1, 1) EPOCH = datetime(1970, 1, 1) SECOND = timedelta(0, 1) diff --git a/test/test_dt.py b/test/test_dt.py index dc00d4b4..02e3ac23 100644 --- a/test/test_dt.py +++ b/test/test_dt.py @@ -160,7 +160,7 @@ class TestDatetime(unittest.TestCase): def test_none(self): self.assertFalse(dt.NONE) self.assertIsInstance(dt.NONE, dt.datetime) - self.assertEqual(str(dt.NONE), "0101-01-01 00:00:00") + self.assertEqual(str(dt.NONE), "[Invalid DateTime]") if __name__ == "__main__":