diff --git a/mypy.ini b/mypy.ini --- a/mypy.ini +++ b/mypy.ini @@ -23,6 +23,9 @@ [mypy-django.*] # false positive, only used my hypotesis' extras ignore_missing_imports = True +[mypy-iso8601.*] +ignore_missing_imports = True + [mypy-msgpack.*] ignore_missing_imports = True diff --git a/requirements-http.txt b/requirements-http.txt --- a/requirements-http.txt +++ b/requirements-http.txt @@ -4,7 +4,7 @@ arrow decorator Flask +iso8601 msgpack > 0.5 -python-dateutil requests blinker # dependency of sentry-sdk[flask] diff --git a/swh/core/api/serializers.py b/swh/core/api/serializers.py --- a/swh/core/api/serializers.py +++ b/swh/core/api/serializers.py @@ -10,7 +10,7 @@ from uuid import UUID import arrow -import dateutil.parser +import iso8601 import msgpack from typing import Any, Dict, Union, Tuple @@ -33,7 +33,7 @@ DECODERS = { 'arrow': arrow.get, - 'datetime': dateutil.parser.parse, + 'datetime': lambda d: iso8601.parse_date(d, default_timezone=None), 'timedelta': lambda d: datetime.timedelta(**d), 'uuid': UUID,