[Libosinfo] [osinfo-db PATCH] tests: test_dates: work without datetime.date.fromisoformat()

Pino Toscano ptoscano at redhat.com
Tue May 21 15:21:09 UTC 2019


datetime.date.fromisoformat() was introduced in Python 3.7, so provide
an alternative implementation for it with older Python versions.

Fixes commit 5da3b8fdd836a55a58365718e93d0372fcc2bf0b.
---
 tests/test_dates.py | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/tests/test_dates.py b/tests/test_dates.py
index aa8db17..49df613 100644
--- a/tests/test_dates.py
+++ b/tests/test_dates.py
@@ -2,14 +2,26 @@
 # See the COPYING file in the top-level directory.
 
 import datetime
+import re
+import sys
 
 from . import util
 
 
+if sys.version_info >= (3, 7):
+    def _parse_iso_date(date_string):
+        return datetime.date.fromisoformat(date_string)
+else:
+    def _parse_iso_date(date_string):
+        m = re.match("([0-9]{4})-([0-9]{2})-([0-9]{2})", date_string)
+        assert m
+        return datetime.date(int(m.group(1)), int(m.group(2)), int(m.group(3)))
+
+
 def _parse_date(date_string):
     if not date_string:
         return None
-    return datetime.date.fromisoformat(date_string)
+    return _parse_iso_date(date_string)
 
 
 @util.os_parametrize('osxml', filter_dates=True)
-- 
2.21.0




More information about the Libosinfo mailing list