generated from dopt-python/py311
enable datetime objects in parser
This commit is contained in:
@@ -221,7 +221,7 @@ class FlatBaseModel(BaseModel):
|
||||
|
||||
def to_db(self) -> dict[str, Any]:
|
||||
"""Ausgang für die DB: Flach, Listen sind JSON-Strings."""
|
||||
nested = super().model_dump(mode="json")
|
||||
nested = super().model_dump()
|
||||
return self.__flatten_dict(nested, serialize_lists=True)
|
||||
|
||||
def to_gui(self) -> dict[str, Any]:
|
||||
@@ -251,7 +251,7 @@ class FlatBaseModel(BaseModel):
|
||||
processed_list.append(item)
|
||||
|
||||
if serialize_lists:
|
||||
items.append((new_key, json.dumps(processed_list)))
|
||||
items.append((new_key, json.dumps(processed_list, default=_parse_json)))
|
||||
else:
|
||||
items.append((new_key, processed_list))
|
||||
else:
|
||||
@@ -259,6 +259,15 @@ class FlatBaseModel(BaseModel):
|
||||
return dict(items)
|
||||
|
||||
|
||||
def _parse_json(value: Any) -> str:
|
||||
if isinstance(value, datetime.date):
|
||||
return value.isoformat()
|
||||
elif isinstance(value, datetime.datetime):
|
||||
return value.isoformat()
|
||||
else:
|
||||
raise TypeError
|
||||
|
||||
|
||||
@dc.dataclass(slots=True)
|
||||
class CountryList:
|
||||
iso_to_country: dict[str, str]
|
||||
|
||||
Reference in New Issue
Block a user