yasoo
Advanced tools
+1
-1
| Metadata-Version: 2.1 | ||
| Name: yasoo | ||
| Version: 0.12.4 | ||
| Version: 0.12.5 | ||
| Summary: Yet another serializer of objects | ||
@@ -5,0 +5,0 @@ Home-page: https://github.com/drorvinkler/yasoo |
+1
-1
@@ -9,3 +9,3 @@ import setuptools | ||
| name="yasoo", | ||
| version="0.12.4", | ||
| version="0.12.5", | ||
| author="Dror A. Vinkler", | ||
@@ -12,0 +12,0 @@ description="Yet another serializer of objects", |
| Metadata-Version: 2.1 | ||
| Name: yasoo | ||
| Version: 0.12.4 | ||
| Version: 0.12.5 | ||
| Summary: Yet another serializer of objects | ||
@@ -5,0 +5,0 @@ Home-page: https://github.com/drorvinkler/yasoo |
@@ -1,6 +0,14 @@ | ||
| from datetime import datetime | ||
| from datetime import datetime, time | ||
| from yasoo.utils import type_to_string, fully_qualified_string_to_type | ||
| from .utils import type_to_string, fully_qualified_string_to_type | ||
| def serialize_time(t: time) -> dict: | ||
| return {"time": t.isoformat()} | ||
| def deserialize_time(d: dict) -> time: | ||
| return _time_from_iso_format(d["time"]) | ||
| def serialize_datetime(d: datetime) -> dict: | ||
@@ -20,1 +28,14 @@ return {"time": d.timestamp()} | ||
| return fully_qualified_string_to_type(data["fully_qualified_name"]) | ||
| def _time_from_iso_format_manually(s: str) -> time: | ||
| if "." not in s: | ||
| return datetime.strptime(s, "%H:%M:%S").time() | ||
| return datetime.strptime(s, "%H:%M:%S.%f").time() | ||
| _time_from_iso_format = ( | ||
| time.fromisoformat | ||
| if hasattr(time, "fromisoformat") | ||
| else _time_from_iso_format_manually | ||
| ) |
@@ -0,4 +1,4 @@ | ||
| import datetime | ||
| import json | ||
| from contextlib import contextmanager | ||
| from datetime import datetime | ||
| from enum import Enum | ||
@@ -22,6 +22,4 @@ from inspect import signature | ||
| from yasoo.default_customs import deserialize_type, deserialize_datetime | ||
| from yasoo.utils import fully_qualified_string_to_type, NoneType | ||
| from .constants import ENUM_VALUE_KEY, ITERABLE_VALUE_KEY | ||
| from .default_customs import deserialize_type, deserialize_time, deserialize_datetime | ||
| from .objects import DictWithSerializedKeys | ||
@@ -35,2 +33,4 @@ from .utils import ( | ||
| SUPPORTED_PRIMITIVES, | ||
| fully_qualified_string_to_type, | ||
| NoneType, | ||
| ) | ||
@@ -46,3 +46,4 @@ | ||
| self._custom_deserializers: Dict[Type[T], Callable[[Dict[str, Any]], T]] = { | ||
| datetime: deserialize_datetime, | ||
| datetime.time: deserialize_time, | ||
| datetime.datetime: deserialize_datetime, | ||
| } | ||
@@ -49,0 +50,0 @@ self._inheritance_deserializers: t = { |
@@ -0,5 +1,5 @@ | ||
| import datetime | ||
| import json | ||
| import warnings | ||
| from contextlib import contextmanager | ||
| from datetime import datetime | ||
| from enum import Enum | ||
@@ -9,7 +9,8 @@ from inspect import signature | ||
| from yasoo.default_customs import serialize_type, serialize_datetime | ||
| from yasoo.objects import DictWithSerializedKeys | ||
| from yasoo.utils import normalize_type, type_to_string | ||
| from .constants import ENUM_VALUE_KEY, ITERABLE_VALUE_KEY | ||
| from .default_customs import serialize_type, serialize_time, serialize_datetime | ||
| from .objects import DictWithSerializedKeys | ||
| from .utils import ( | ||
| normalize_type, | ||
| type_to_string, | ||
| resolve_types, | ||
@@ -27,3 +28,4 @@ get_fields, | ||
| self._custom_serializers: Dict[type, Callable[[Any], Dict[str, Any]]] = { | ||
| datetime: serialize_datetime, | ||
| datetime.time: serialize_time, | ||
| datetime.datetime: serialize_datetime, | ||
| } | ||
@@ -30,0 +32,0 @@ self._inheritance_serializers: Dict[type, Callable[[Any], Dict[str, Any]]] = { |
Alert delta unavailable
Currently unable to show alert delta for PyPI packages.
54963
0.99%1026
1.68%