Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ class {{classname}}({{#parent}}{{{.}}}{{/parent}}{{^parent}}BaseModel{{/parent}}
return json.dumps(self.to_dict())

@classmethod
def from_json(cls, json_str: str) -> {{^hasChildren}}{{{classname}}}{{/hasChildren}}{{#hasChildren}}{{#discriminator}}Union({{#children}}{{{classname}}}{{^-last}}, {{/-last}}{{/children}}){{/discriminator}}{{^discriminator}}{{{classname}}}{{/discriminator}}{{/hasChildren}}:
def from_json(cls, json_str: str) -> {{^hasChildren}}{{{classname}}}{{/hasChildren}}{{#hasChildren}}{{#discriminator}}Union[{{#children}}{{{classname}}}{{^-last}}, {{/-last}}{{/children}}]{{/discriminator}}{{^discriminator}}{{{classname}}}{{/discriminator}}{{/hasChildren}}:
"""Create an instance of {{{classname}}} from a JSON string"""
return cls.from_dict(json.loads(json_str))

Expand All @@ -145,8 +145,9 @@ class {{classname}}({{#parent}}{{{.}}}{{/parent}}{{^parent}}BaseModel{{/parent}}
{{#allVars}}
{{#isContainer}}
{{#isArray}}
{{#items.isArray}}
{{#items.isContainer}}
{{^items.items.isPrimitiveType}}
{{#items.isArray}}
# override the default output from pydantic by calling `to_dict()` of each item in {{{name}}} (list of list)
_items = []
if self.{{{name}}}:
Expand All @@ -156,9 +157,21 @@ class {{classname}}({{#parent}}{{{.}}}{{/parent}}{{^parent}}BaseModel{{/parent}}
[_inner_item.to_dict() for _inner_item in _item if _inner_item is not None]
)
_dict['{{{baseName}}}'] = _items
{{/items.items.isPrimitiveType}}
{{/items.isArray}}
{{^items.isArray}}
{{#items.isMap}}
# override the default output from pydantic by calling `to_dict()` of each item in {{{name}}} (list of map)
_items = []
if self.{{{name}}}:
for _item in self.{{{name}}}:
if _item:
_items.append(
{_inner_key: _inner_value.to_dict() for _inner_key, _inner_value in _item.items() if _inner_value is not None}
)
_dict['{{{baseName}}}'] = _items
{{/items.isMap}}
{{/items.items.isPrimitiveType}}
{{/items.isContainer}}
{{^items.isContainer}}
{{^items.isPrimitiveType}}
{{^items.isEnumOrRef}}
# override the default output from pydantic by calling `to_dict()` of each item in {{{name}}} (list)
Expand All @@ -170,11 +183,12 @@ class {{classname}}({{#parent}}{{{.}}}{{/parent}}{{^parent}}BaseModel{{/parent}}
_dict['{{{baseName}}}'] = _items
{{/items.isEnumOrRef}}
{{/items.isPrimitiveType}}
{{/items.isArray}}
{{/items.isContainer}}
{{/isArray}}
{{#isMap}}
{{#items.isArray}}
{{#items.isContainer}}
{{^items.items.isPrimitiveType}}
{{#items.isArray}}
# override the default output from pydantic by calling `to_dict()` of each value in {{{name}}} (dict of array)
_field_dict_of_array = {}
if self.{{{name}}}:
Expand All @@ -184,9 +198,21 @@ class {{classname}}({{#parent}}{{{.}}}{{/parent}}{{^parent}}BaseModel{{/parent}}
_item.to_dict() for _item in self.{{{name}}}[_key]
]
_dict['{{{baseName}}}'] = _field_dict_of_array
{{/items.items.isPrimitiveType}}
{{/items.isArray}}
{{^items.isArray}}
{{#items.isMap}}
# override the default output from pydantic by calling `to_dict()` of each value in {{{name}}} (dict of dict)
_field_dict_of_dict = {}
if self.{{{name}}}:
for _key, _value in self.{{{name}}}.items():
if _value is not None:
_field_dict_of_dict[_key] = {
_inner_key: _inner_value.to_dict() for _inner_key, _inner_value in _value.items() if _inner_value is not None
}
_dict['{{{baseName}}}'] = _field_dict_of_dict
{{/items.isMap}}
{{/items.items.isPrimitiveType}}
{{/items.isContainer}}
{{^items.isContainer}}
{{^items.isPrimitiveType}}
{{^items.isEnumOrRef}}
# override the default output from pydantic by calling `to_dict()` of each value in {{{name}}} (dict)
Expand All @@ -198,7 +224,7 @@ class {{classname}}({{#parent}}{{{.}}}{{/parent}}{{^parent}}BaseModel{{/parent}}
_dict['{{{baseName}}}'] = _field_dict
{{/items.isEnumOrRef}}
{{/items.isPrimitiveType}}
{{/items.isArray}}
{{/items.isContainer}}
{{/isMap}}
{{/isContainer}}
{{^isContainer}}
Expand Down Expand Up @@ -230,7 +256,7 @@ class {{classname}}({{#parent}}{{{.}}}{{/parent}}{{^parent}}BaseModel{{/parent}}
return _dict

@classmethod
def from_dict(cls, obj: dict) -> {{^hasChildren}}{{{classname}}}{{/hasChildren}}{{#hasChildren}}{{#discriminator}}Union({{#children}}{{{classname}}}{{^-last}}, {{/-last}}{{/children}}){{/discriminator}}{{^discriminator}}{{{classname}}}{{/discriminator}}{{/hasChildren}}:
def from_dict(cls, obj: dict) -> {{^hasChildren}}{{{classname}}}{{/hasChildren}}{{#hasChildren}}{{#discriminator}}Union[{{#children}}{{{classname}}}{{^-last}}, {{/-last}}{{/children}}]{{/discriminator}}{{^discriminator}}{{{classname}}}{{/discriminator}}{{/hasChildren}}:
"""Create an instance of {{{classname}}} from a dict"""
{{#hasChildren}}
{{#discriminator}}
Expand Down Expand Up @@ -265,18 +291,26 @@ class {{classname}}({{#parent}}{{{.}}}{{/parent}}{{^parent}}BaseModel{{/parent}}
{{#allVars}}
{{#isContainer}}
{{#isArray}}
{{#items.isArray}}
{{#items.isContainer}}
{{#items.items.isPrimitiveType}}
"{{{name}}}": obj.get("{{{baseName}}}"){{^-last}},{{/-last}}
{{/items.items.isPrimitiveType}}
{{^items.items.isPrimitiveType}}
{{#items.isArray}}
"{{{name}}}": [
[{{{items.items.dataType}}}.from_dict(_inner_item) for _inner_item in _item]
for _item in obj.get("{{{baseName}}}")
] if obj.get("{{{baseName}}}") is not None else None{{^-last}},{{/-last}}
{{/items.items.isPrimitiveType}}
{{/items.isArray}}
{{^items.isArray}}
{{#items.isMap}}
"{{{name}}}": [
{_inner_key: {{{items.items.dataType}}}.from_dict(_inner_value) for _inner_key, _inner_value in _item.items()}
for _item in obj.get("{{{baseName}}}")
] if obj.get("{{{baseName}}}") is not None else None{{^-last}},{{/-last}}
{{/items.isMap}}
{{/items.items.isPrimitiveType}}
{{/items.isContainer}}
{{^items.isContainer}}
{{^items.isPrimitiveType}}
{{#items.isEnumOrRef}}
"{{{name}}}": obj.get("{{{baseName}}}"){{^-last}},{{/-last}}
Expand All @@ -288,48 +322,39 @@ class {{classname}}({{#parent}}{{{.}}}{{/parent}}{{^parent}}BaseModel{{/parent}}
{{#items.isPrimitiveType}}
"{{{name}}}": obj.get("{{{baseName}}}"){{^-last}},{{/-last}}
{{/items.isPrimitiveType}}
{{/items.isArray}}
{{/items.isContainer}}
{{/isArray}}
{{#isMap}}
{{^items.isPrimitiveType}}
{{^items.isEnumOrRef}}
{{#items.isContainer}}
{{#items.isMap}}
"{{{name}}}": dict(
(_k, dict(
(_ik, {{{items.items.dataType}}}.from_dict(_iv))
for _ik, _iv in _v.items()
)
if _v is not None
else None
)
for _k, _v in obj.get("{{{baseName}}}").items()
)
"{{{name}}}": {
_k: {_ik: {{{items.items.dataType}}}.from_dict(_iv) for _ik, _iv in _v.items()} if _v is not None else None
for _k, _v in obj["{{{baseName}}}"].items()
}
if obj.get("{{{baseName}}}") is not None
else None{{^-last}},{{/-last}}
{{/items.isMap}}
{{#items.isArray}}
"{{{name}}}": dict(
(_k,
[{{{items.items.dataType}}}.from_dict(_item) for _item in _v]
if _v is not None
else None
)
for _k, _v in obj.get("{{{baseName}}}").items()
){{^-last}},{{/-last}}
"{{{name}}}": {
_k: [{{{items.items.dataType}}}.from_dict(_item) for _item in _v] if _v is not None else None
for _k, _v in obj["{{{baseName}}}"].items()
}
if obj.get("{{{baseName}}}") is not None
else None{{^-last}},{{/-last}}
{{/items.isArray}}
{{/items.isContainer}}
{{^items.isContainer}}
"{{{name}}}": dict(
(_k, {{{items.dataType}}}.from_dict(_v))
for _k, _v in obj.get("{{{baseName}}}").items()
)
"{{{name}}}": {
_k: {{{items.dataType}}}.from_dict(_v) for _k, _v in obj["{{{baseName}}}"].items()
}
if obj.get("{{{baseName}}}") is not None
else None{{^-last}},{{/-last}}
{{/items.isContainer}}
{{/items.isEnumOrRef}}
{{#items.isEnumOrRef}}
"{{{name}}}": dict((_k, _v) for _k, _v in obj.get("{{{baseName}}}").items()){{^-last}},{{/-last}}
"{{{name}}}": obj.get("{{{baseName}}}"){{^-last}},{{/-last}}
{{/items.isEnumOrRef}}
{{/items.isPrimitiveType}}
{{#items.isPrimitiveType}}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,13 +55,15 @@ def to_dict(self):
exclude={
},
exclude_none=True)
# override the default output from pydantic by calling `to_dict()` of each value in map_of_map_non_primitive_property (dict)
_field_dict = {}
# override the default output from pydantic by calling `to_dict()` of each value in map_of_map_non_primitive_property (dict of dict)
_field_dict_of_dict = {}
if self.map_of_map_non_primitive_property:
for _key in self.map_of_map_non_primitive_property:
if self.map_of_map_non_primitive_property[_key]:
_field_dict[_key] = self.map_of_map_non_primitive_property[_key].to_dict()
_dict['map_of_map_non_primitive_property'] = _field_dict
for _key, _value in self.map_of_map_non_primitive_property.items():
if _value is not None:
_field_dict_of_dict[_key] = {
_inner_key: _inner_value.to_dict() for _inner_key, _inner_value in _value.items() if _inner_value is not None
}
_dict['map_of_map_non_primitive_property'] = _field_dict_of_dict
return _dict

@classmethod
Expand All @@ -76,16 +78,10 @@ def from_dict(cls, obj: dict) -> AdditionalPropertiesClass:
_obj = AdditionalPropertiesClass.parse_obj({
"map_property": obj.get("map_property"),
"map_of_map_property": obj.get("map_of_map_property"),
"map_of_map_non_primitive_property": dict(
(_k, dict(
(_ik, Pet.from_dict(_iv))
for _ik, _iv in _v.items()
)
if _v is not None
else None
)
for _k, _v in obj.get("map_of_map_non_primitive_property").items()
)
"map_of_map_non_primitive_property": {
_k: {_ik: Pet.from_dict(_iv) for _ik, _iv in _v.items()} if _v is not None else None
for _k, _v in obj["map_of_map_non_primitive_property"].items()
}
if obj.get("map_of_map_non_primitive_property") is not None
else None
})
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ def to_json(self) -> str:
return json.dumps(self.to_dict())

@classmethod
def from_json(cls, json_str: str) -> Union(Cat, Dog):
def from_json(cls, json_str: str) -> Union[Cat, Dog]:
"""Create an instance of Animal from a JSON string"""
return cls.from_dict(json.loads(json_str))

Expand All @@ -80,7 +80,7 @@ def to_dict(self):
return _dict

@classmethod
def from_dict(cls, obj: dict) -> Union(Cat, Dog):
def from_dict(cls, obj: dict) -> Union[Cat, Dog]:
"""Create an instance of Animal from a dict"""
# look up the object type based on discriminator mapping
object_type = cls.get_discriminator_value(obj)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,12 +53,14 @@ def to_dict(self):
exclude={
},
exclude_none=True)
# override the default output from pydantic by calling `to_dict()` of each item in array_of_map_property (list)
# override the default output from pydantic by calling `to_dict()` of each item in array_of_map_property (list of map)
_items = []
if self.array_of_map_property:
for _item in self.array_of_map_property:
if _item:
_items.append(_item.to_dict())
_items.append(
{_inner_key: _inner_value.to_dict() for _inner_key, _inner_value in _item.items() if _inner_value is not None}
)
_dict['array_of_map_property'] = _items
return _dict

Expand All @@ -72,7 +74,10 @@ def from_dict(cls, obj: dict) -> ArrayOfMapModel:
return ArrayOfMapModel.parse_obj(obj)

_obj = ArrayOfMapModel.parse_obj({
"array_of_map_property": [Dict[str, Tag].from_dict(_item) for _item in obj.get("array_of_map_property")] if obj.get("array_of_map_property") is not None else None
"array_of_map_property": [
{_inner_key: Tag.from_dict(_inner_value) for _inner_key, _inner_value in _item.items()}
for _item in obj.get("array_of_map_property")
] if obj.get("array_of_map_property") is not None else None
})
return _obj

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ def to_json(self) -> str:
return json.dumps(self.to_dict())

@classmethod
def from_json(cls, json_str: str) -> Union(Info, PrimitiveString):
def from_json(cls, json_str: str) -> Union[Info, PrimitiveString]:
"""Create an instance of BaseDiscriminator from a JSON string"""
return cls.from_dict(json.loads(json_str))

Expand All @@ -79,7 +79,7 @@ def to_dict(self):
return _dict

@classmethod
def from_dict(cls, obj: dict) -> Union(Info, PrimitiveString):
def from_dict(cls, obj: dict) -> Union[Info, PrimitiveString]:
"""Create an instance of BaseDiscriminator from a dict"""
# look up the object type based on discriminator mapping
object_type = cls.get_discriminator_value(obj)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ def to_json(self) -> str:
return json.dumps(self.to_dict())

@classmethod
def from_json(cls, json_str: str) -> Union(HuntingDog):
def from_json(cls, json_str: str) -> Union[HuntingDog]:
"""Create an instance of Creature from a JSON string"""
return cls.from_dict(json.loads(json_str))

Expand All @@ -82,7 +82,7 @@ def to_dict(self):
return _dict

@classmethod
def from_dict(cls, obj: dict) -> Union(HuntingDog):
def from_dict(cls, obj: dict) -> Union[HuntingDog]:
"""Create an instance of Creature from a dict"""
# look up the object type based on discriminator mapping
object_type = cls.get_discriminator_value(obj)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ def to_json(self) -> str:
return json.dumps(self.to_dict())

@classmethod
def from_json(cls, json_str: str) -> Union(DiscriminatorAllOfSub):
def from_json(cls, json_str: str) -> Union[DiscriminatorAllOfSub]:
"""Create an instance of DiscriminatorAllOfSuper from a JSON string"""
return cls.from_dict(json.loads(json_str))

Expand All @@ -77,7 +77,7 @@ def to_dict(self):
return _dict

@classmethod
def from_dict(cls, obj: dict) -> Union(DiscriminatorAllOfSub):
def from_dict(cls, obj: dict) -> Union[DiscriminatorAllOfSub]:
"""Create an instance of DiscriminatorAllOfSuper from a dict"""
# look up the object type based on discriminator mapping
object_type = cls.get_discriminator_value(obj)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -72,10 +72,9 @@ def from_dict(cls, obj: dict) -> InputAllOf:
return InputAllOf.parse_obj(obj)

_obj = InputAllOf.parse_obj({
"some_data": dict(
(_k, Tag.from_dict(_v))
for _k, _v in obj.get("some_data").items()
)
"some_data": {
_k: Tag.from_dict(_v) for _k, _v in obj["some_data"].items()
}
if obj.get("some_data") is not None
else None
})
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,14 +74,12 @@ def from_dict(cls, obj: dict) -> MapOfArrayOfModel:
return MapOfArrayOfModel.parse_obj(obj)

_obj = MapOfArrayOfModel.parse_obj({
"shop_id_to_org_online_lip_map": dict(
(_k,
[Tag.from_dict(_item) for _item in _v]
if _v is not None
else None
)
for _k, _v in obj.get("shopIdToOrgOnlineLipMap").items()
)
"shop_id_to_org_online_lip_map": {
_k: [Tag.from_dict(_item) for _item in _v] if _v is not None else None
for _k, _v in obj["shopIdToOrgOnlineLipMap"].items()
}
if obj.get("shopIdToOrgOnlineLipMap") is not None
else None
})
return _obj

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -76,10 +76,9 @@ def from_dict(cls, obj: dict) -> MixedPropertiesAndAdditionalPropertiesClass:
_obj = MixedPropertiesAndAdditionalPropertiesClass.parse_obj({
"uuid": obj.get("uuid"),
"date_time": obj.get("dateTime"),
"map": dict(
(_k, Animal.from_dict(_v))
for _k, _v in obj.get("map").items()
)
"map": {
_k: Animal.from_dict(_v) for _k, _v in obj["map"].items()
}
if obj.get("map") is not None
else None
})
Expand Down
Loading
Loading