[Libosinfo] [osinfo-db PATCH] tests: test_dates: work without datetime.date.fromisoformat()
Cole Robinson
crobinso at redhat.com
Tue May 21 19:06:23 UTC 2019
On 5/21/19 11:21 AM, Pino Toscano wrote:
> 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)))
> +
> +
Why two implementations? Seems to me it just increases the odds that the
impls diverge over time, reintroducing version specific issues
I say just use the fallback impl
Thanks,
Cole
> 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)
>
- Cole
More information about the Libosinfo
mailing list