From b44f0cdab05ffc4e50f984f1dfe2ec13c850c903 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mike=20F=C3=A4hrmann?= Date: Thu, 19 Sep 2024 13:28:59 +0200 Subject: [PATCH] [formatter] allow accessing 'util.NONE' via global '_nul' --- docs/formatting.md | 6 ++++++ gallery_dl/formatter.py | 1 + test/test_formatter.py | 8 ++++++++ 3 files changed, 15 insertions(+) diff --git a/docs/formatting.md b/docs/formatting.md index 75f32f6a..1e695bf2 100644 --- a/docs/formatting.md +++ b/docs/formatting.md @@ -272,6 +272,12 @@ Replacement field names that are available in all format strings. {_now:%Y-%m} 2022-08 + + _nul + Universal null value + {date|_nul:%Y-%m} + None + _lit String literals diff --git a/gallery_dl/formatter.py b/gallery_dl/formatter.py index f197e5db..b50bd643 100644 --- a/gallery_dl/formatter.py +++ b/gallery_dl/formatter.py @@ -476,6 +476,7 @@ _GLOBALS = { "_env": lambda: os.environ, "_lit": lambda: _literal, "_now": datetime.datetime.now, + "_nul": lambda: util.NONE, } _CONVERSIONS = { "l": str.lower, diff --git a/test/test_formatter.py b/test/test_formatter.py index 75324fb9..38c22ab9 100644 --- a/test/test_formatter.py +++ b/test/test_formatter.py @@ -351,6 +351,14 @@ class TestFormatter(unittest.TestCase): self.assertRegex(out1, r"^\d{4}-\d\d-\d\d \d\d:\d\d:\d\d(\.\d+)?$") self.assertNotEqual(out1, out2) + def test_globals_nul(self): + value = "None" + + self._run_test("{_nul}" , value) + self._run_test("{_nul[key]}" , value) + self._run_test("{z|_nul}" , value) + self._run_test("{z|_nul:%Y%m%s}", value) + def test_literals(self): value = "foo"