From a28cb6fd75495d2bdb1fee0a371c7957e5ca3a0f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20tom=20W=C3=B6rden?= <h.tomwoerden@indiscale.com> Date: Wed, 1 Feb 2023 12:28:17 +0100 Subject: [PATCH] ENH: add default format --- src/caoscrawler/converters.py | 3 ++- unittests/test_converters.py | 13 +++++++++++-- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/src/caoscrawler/converters.py b/src/caoscrawler/converters.py index a2ad1df4..de399e26 100644 --- a/src/caoscrawler/converters.py +++ b/src/caoscrawler/converters.py @@ -1117,5 +1117,6 @@ class DateElementConverter(TextElementConverter): if matches is not None and "date" in matches: matches.update({"date": datetime.datetime.strptime( matches["date"], - self.definition["date_format"]).date()}) + self.definition["date_format"] if "date_format" in self.definition else "%Y-%m-%d" + ).date()}) return matches diff --git a/unittests/test_converters.py b/unittests/test_converters.py index 83ebaf54..d7d1c9bb 100644 --- a/unittests/test_converters.py +++ b/unittests/test_converters.py @@ -575,11 +575,20 @@ def test_match_debug(converter_registry, capsys): def test_date_converter(): dictconverter = DateElementConverter( - definition={"match_value": "(?P<date>.*)", - "date_format": "%Y-%m-%d"}, + definition={"match_value": "(?P<date>.*)"}, name="conv", converter_registry=converter_registry) matches = dictconverter.match(TextElement("text", "2022-11-11")) assert "date" in matches assert isinstance(matches["date"], datetime.date) assert matches["date"].year == 2022 + + dictconverter = DateElementConverter( + definition={"match_value": "(?P<date>.*)", + "date_format": "%y-%m-%d"}, + name="conv", + converter_registry=converter_registry) + matches = dictconverter.match(TextElement("text", "22-11-11")) + assert "date" in matches + assert isinstance(matches["date"], datetime.date) + assert matches["date"].year == 2022 -- GitLab