Page MenuHomeSoftware Heritage

D4684.id16622.diff
No OneTemporary

D4684.id16622.diff

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
@@ -12,7 +12,6 @@
from typing import Any, Callable, Dict, List, Optional, Tuple, Type, Union
from uuid import UUID
-import arrow
import iso8601
import msgpack
from requests import Response
@@ -57,27 +56,25 @@
return getattr(temp, exc_dict["type"])(*exc_dict["args"])
-ENCODERS = [
- (arrow.Arrow, "arrow", arrow.Arrow.isoformat),
+def encode_timedelta(td: datetime.timedelta) -> Dict[str, int]:
+ return {
+ "days": td.days,
+ "seconds": td.seconds,
+ "microseconds": td.microseconds,
+ }
+
+
+ENCODERS: List[Tuple[type, str, Callable]] = [
(datetime.datetime, "datetime", encode_datetime),
- (
- datetime.timedelta,
- "timedelta",
- lambda o: {
- "days": o.days,
- "seconds": o.seconds,
- "microseconds": o.microseconds,
- },
- ),
(UUID, "uuid", str),
+ (datetime.timedelta, "timedelta", encode_timedelta),
(PagedResult, "paged_result", _encode_paged_result),
# Only for JSON:
(bytes, "bytes", lambda o: base64.b85encode(o).decode("ascii")),
(Exception, "exception", exception_to_dict),
]
-DECODERS = {
- "arrow": arrow.get,
+DECODERS: Dict[str, Union[Callable, type]] = {
"datetime": lambda d: iso8601.parse_date(d, default_timezone=None),
"timedelta": lambda d: datetime.timedelta(**d),
"uuid": UUID,
diff --git a/swh/core/api/tests/test_serializers.py b/swh/core/api/tests/test_serializers.py
--- a/swh/core/api/tests/test_serializers.py
+++ b/swh/core/api/tests/test_serializers.py
@@ -8,8 +8,6 @@
from typing import Any, Callable, List, Tuple, Union
from uuid import UUID
-import arrow
-from arrow import Arrow
import pytest
import requests
from requests.exceptions import ConnectionError
@@ -66,9 +64,6 @@
"d": {"days": 64, "seconds": 0, "microseconds": 0},
}
-DATA_ARROW = arrow.get("2018-04-25T16:17:53.533672+00:00")
-ENCODED_DATA_ARROW = {"swhtype": "arrow", "d": "2018-04-25T16:17:53.533672+00:00"}
-
DATA_UUID = UUID("cdd8f804-9db6-40c3-93ab-5955d3836234")
ENCODED_DATA_UUID = {"swhtype": "uuid", "d": "cdd8f804-9db6-40c3-93ab-5955d3836234"}
@@ -89,16 +84,18 @@
"swhtype": "paged_result",
}
-TestPagedResultTuple = PagedResult[Union[str, bytes, Arrow], List[Union[str, UUID]]]
+TestPagedResultTuple = PagedResult[
+ Union[str, bytes, datetime.datetime], List[Union[str, UUID]]
+]
DATA_PAGED_RESULT2 = TestPagedResultTuple(
- results=["data0", DATA_BYTES, DATA_ARROW], next_page_token=["10", DATA_UUID],
+ results=["data0", DATA_BYTES, DATA_DATETIME], next_page_token=["10", DATA_UUID],
)
ENCODED_DATA_PAGED_RESULT2 = {
"d": {
- "results": ["data0", ENCODED_DATA_BYTES, ENCODED_DATA_ARROW,],
+ "results": ["data0", ENCODED_DATA_BYTES, ENCODED_DATA_DATETIME,],
"next_page_token": ["10", ENCODED_DATA_UUID],
},
"swhtype": "paged_result",
@@ -111,7 +108,6 @@
2015, 3, 4, 18, 25, 13, 1234, tzinfo=datetime.timezone.utc
),
"datetime_delta": DATA_TIMEDELTA,
- "arrow_date": DATA_ARROW,
"swhtype": "fake",
"swh_dict": {"swhtype": 42, "d": "test"},
"random_dict": {"swhtype": 43},
@@ -125,7 +121,6 @@
"datetime_tz": ENCODED_DATA_DATETIME,
"datetime_utc": {"swhtype": "datetime", "d": "2015-03-04T18:25:13.001234+00:00",},
"datetime_delta": ENCODED_DATA_TIMEDELTA,
- "arrow_date": ENCODED_DATA_ARROW,
"swhtype": "fake",
"swh_dict": {"swhtype": 42, "d": "test"},
"random_dict": {"swhtype": 43},

File Metadata

Mime Type
text/plain
Expires
Dec 20 2024, 2:02 AM (11 w, 3 d ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3218954

Event Timeline