Skip to content

Commit f9788d7

Browse files
Make progress toward fixing it
1 parent f02e943 commit f9788d7

22 files changed

+143
-128
lines changed

end_to_end_tests/golden-record-custom/custom_e2e/models/a_model.py

Lines changed: 35 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -164,8 +164,7 @@ def from_dict(src_dict: Dict[str, Any]) -> "AModel":
164164
d = src_dict.copy()
165165
an_enum_value = AnEnum(d.pop("an_enum_value"))
166166

167-
def _parse_a_camel_date_time(data: Any) -> Union[datetime.datetime, datetime.date]:
168-
data = None if isinstance(data, Unset) else data
167+
def _parse_a_camel_date_time(data: Union[str]) -> Union[datetime.datetime, datetime.date]:
169168
a_camel_date_time: Union[datetime.datetime, datetime.date]
170169
try:
171170
a_camel_date_time = isoparse(data)
@@ -185,8 +184,7 @@ def _parse_a_camel_date_time(data: Any) -> Union[datetime.datetime, datetime.dat
185184

186185
model = AModelModel.from_dict(d.pop("model"))
187186

188-
def _parse_one_of_models(data: Any) -> Union[FreeFormModel, ModelWithUnionProperty]:
189-
data = None if isinstance(data, Unset) else data
187+
def _parse_one_of_models(data: Union[Dict[str, Any]]) -> Union[FreeFormModel, ModelWithUnionProperty]:
190188
one_of_models: Union[FreeFormModel, ModelWithUnionProperty]
191189
try:
192190
one_of_models = FreeFormModel.from_dict(data)
@@ -214,7 +212,7 @@ def _parse_one_of_models(data: Any) -> Union[FreeFormModel, ModelWithUnionProper
214212

215213
a_nullable_date = None
216214
_a_nullable_date = d.pop("a_nullable_date")
217-
if _a_nullable_date is not None:
215+
if _a_nullable_date is not None and not isinstance(_a_nullable_date, Unset):
218216
a_nullable_date = isoparse(cast(str, _a_nullable_date)).date()
219217

220218
attr_1_leading_digit = d.pop("1_leading_digit", UNSET)
@@ -227,24 +225,25 @@ def _parse_one_of_models(data: Any) -> Union[FreeFormModel, ModelWithUnionProper
227225

228226
nullable_model = None
229227
_nullable_model = d.pop("nullable_model")
230-
if _nullable_model is not None:
231-
nullable_model = AModelNullableModel.from_dict(cast(Dict[str, Any], _nullable_model))
228+
if _nullable_model is not None and not isinstance(_nullable_model, Unset):
229+
nullable_model = AModelNullableModel.from_dict(_nullable_model)
232230

233231
not_required_model: Union[Unset, AModelNotRequiredModel] = UNSET
234232
_not_required_model = d.pop("not_required_model", UNSET)
235-
if not isinstance(_not_required_model, Unset):
236-
not_required_model = AModelNotRequiredModel.from_dict(cast(Dict[str, Any], _not_required_model))
233+
if _not_required_model is not None and not isinstance(_not_required_model, Unset):
234+
not_required_model = AModelNotRequiredModel.from_dict(_not_required_model)
237235

238236
not_required_nullable_model = None
239237
_not_required_nullable_model = d.pop("not_required_nullable_model", UNSET)
240238
if _not_required_nullable_model is not None and not isinstance(_not_required_nullable_model, Unset):
241-
not_required_nullable_model = AModelNotRequiredNullableModel.from_dict(
242-
cast(Dict[str, Any], _not_required_nullable_model)
243-
)
239+
not_required_nullable_model = AModelNotRequiredNullableModel.from_dict(_not_required_nullable_model)
244240

245-
def _parse_nullable_one_of_models(data: Any) -> Union[None, FreeFormModel, ModelWithUnionProperty]:
246-
data = None if isinstance(data, Unset) else data
241+
def _parse_nullable_one_of_models(
242+
data: Union[None, Dict[str, Any]]
243+
) -> Union[None, FreeFormModel, ModelWithUnionProperty]:
247244
nullable_one_of_models: Union[None, FreeFormModel, ModelWithUnionProperty]
245+
if data is None:
246+
return data
248247
try:
249248
nullable_one_of_models = FreeFormModel.from_dict(data)
250249

@@ -257,52 +256,56 @@ def _parse_nullable_one_of_models(data: Any) -> Union[None, FreeFormModel, Model
257256

258257
nullable_one_of_models = _parse_nullable_one_of_models(d.pop("nullable_one_of_models"))
259258

260-
def _parse_not_required_one_of_models(data: Any) -> Union[Unset, FreeFormModel, ModelWithUnionProperty]:
261-
data = None if isinstance(data, Unset) else data
259+
def _parse_not_required_one_of_models(
260+
data: Union[Unset, Dict[str, Any]]
261+
) -> Union[Unset, FreeFormModel, ModelWithUnionProperty]:
262262
not_required_one_of_models: Union[Unset, FreeFormModel, ModelWithUnionProperty]
263+
if isinstance(data, Unset):
264+
return data
263265
try:
264266
not_required_one_of_models = UNSET
265267
_not_required_one_of_models = data
266-
if not isinstance(_not_required_one_of_models, Unset):
267-
not_required_one_of_models = FreeFormModel.from_dict(
268-
cast(Dict[str, Any], _not_required_one_of_models)
269-
)
268+
if _not_required_one_of_models is not None and not isinstance(_not_required_one_of_models, Unset):
269+
not_required_one_of_models = FreeFormModel.from_dict(_not_required_one_of_models)
270270

271271
return not_required_one_of_models
272272
except: # noqa: E722
273273
pass
274274
not_required_one_of_models = UNSET
275275
_not_required_one_of_models = data
276-
if not isinstance(_not_required_one_of_models, Unset):
277-
not_required_one_of_models = ModelWithUnionProperty.from_dict(
278-
cast(Dict[str, Any], _not_required_one_of_models)
279-
)
276+
if _not_required_one_of_models is not None and not isinstance(_not_required_one_of_models, Unset):
277+
not_required_one_of_models = ModelWithUnionProperty.from_dict(_not_required_one_of_models)
280278

281279
return not_required_one_of_models
282280

283281
not_required_one_of_models = _parse_not_required_one_of_models(d.pop("not_required_one_of_models", UNSET))
284282

285283
def _parse_not_required_nullable_one_of_models(
286-
data: Any,
284+
data: Union[Unset, None, Dict[str, Any]]
287285
) -> Union[Unset, None, FreeFormModel, ModelWithUnionProperty]:
288-
data = None if isinstance(data, Unset) else data
289286
not_required_nullable_one_of_models: Union[Unset, None, FreeFormModel, ModelWithUnionProperty]
287+
if data is None:
288+
return data
289+
if isinstance(data, Unset):
290+
return data
290291
try:
291292
not_required_nullable_one_of_models = UNSET
292293
_not_required_nullable_one_of_models = data
293-
if not isinstance(_not_required_nullable_one_of_models, Unset):
294-
not_required_nullable_one_of_models = FreeFormModel.from_dict(
295-
cast(Dict[str, Any], _not_required_nullable_one_of_models)
296-
)
294+
if _not_required_nullable_one_of_models is not None and not isinstance(
295+
_not_required_nullable_one_of_models, Unset
296+
):
297+
not_required_nullable_one_of_models = FreeFormModel.from_dict(_not_required_nullable_one_of_models)
297298

298299
return not_required_nullable_one_of_models
299300
except: # noqa: E722
300301
pass
301302
not_required_nullable_one_of_models = UNSET
302303
_not_required_nullable_one_of_models = data
303-
if not isinstance(_not_required_nullable_one_of_models, Unset):
304+
if _not_required_nullable_one_of_models is not None and not isinstance(
305+
_not_required_nullable_one_of_models, Unset
306+
):
304307
not_required_nullable_one_of_models = ModelWithUnionProperty.from_dict(
305-
cast(Dict[str, Any], _not_required_nullable_one_of_models)
308+
_not_required_nullable_one_of_models
306309
)
307310

308311
return not_required_nullable_one_of_models

end_to_end_tests/golden-record-custom/custom_e2e/models/a_model_model.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,21 +40,22 @@ def to_dict(self) -> Dict[str, Any]:
4040
def from_dict(src_dict: Dict[str, Any]) -> "AModelModel":
4141
d = src_dict.copy()
4242

43-
def _parse_a_property(data: Any) -> Union[Unset, AnEnum, AnIntEnum]:
44-
data = None if isinstance(data, Unset) else data
43+
def _parse_a_property(data: Union[Unset, int]) -> Union[Unset, AnEnum, AnIntEnum]:
4544
a_property: Union[Unset, AnEnum, AnIntEnum]
45+
if isinstance(data, Unset):
46+
return data
4647
try:
4748
a_property = UNSET
4849
_a_property = data
49-
if _a_property is not None:
50+
if _a_property is not None and not isinstance(_a_property, Unset):
5051
a_property = AnEnum(_a_property)
5152

5253
return a_property
5354
except: # noqa: E722
5455
pass
5556
a_property = UNSET
5657
_a_property = data
57-
if _a_property is not None:
58+
if _a_property is not None and not isinstance(_a_property, Unset):
5859
a_property = AnIntEnum(_a_property)
5960

6061
return a_property

end_to_end_tests/golden-record-custom/custom_e2e/models/a_model_not_required_model.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,21 +40,22 @@ def to_dict(self) -> Dict[str, Any]:
4040
def from_dict(src_dict: Dict[str, Any]) -> "AModelNotRequiredModel":
4141
d = src_dict.copy()
4242

43-
def _parse_a_property(data: Any) -> Union[Unset, AnEnum, AnIntEnum]:
44-
data = None if isinstance(data, Unset) else data
43+
def _parse_a_property(data: Union[Unset, int]) -> Union[Unset, AnEnum, AnIntEnum]:
4544
a_property: Union[Unset, AnEnum, AnIntEnum]
45+
if isinstance(data, Unset):
46+
return data
4647
try:
4748
a_property = UNSET
4849
_a_property = data
49-
if _a_property is not None:
50+
if _a_property is not None and not isinstance(_a_property, Unset):
5051
a_property = AnEnum(_a_property)
5152

5253
return a_property
5354
except: # noqa: E722
5455
pass
5556
a_property = UNSET
5657
_a_property = data
57-
if _a_property is not None:
58+
if _a_property is not None and not isinstance(_a_property, Unset):
5859
a_property = AnIntEnum(_a_property)
5960

6061
return a_property

end_to_end_tests/golden-record-custom/custom_e2e/models/a_model_not_required_nullable_model.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,21 +40,22 @@ def to_dict(self) -> Dict[str, Any]:
4040
def from_dict(src_dict: Dict[str, Any]) -> "AModelNotRequiredNullableModel":
4141
d = src_dict.copy()
4242

43-
def _parse_a_property(data: Any) -> Union[Unset, AnEnum, AnIntEnum]:
44-
data = None if isinstance(data, Unset) else data
43+
def _parse_a_property(data: Union[Unset, int]) -> Union[Unset, AnEnum, AnIntEnum]:
4544
a_property: Union[Unset, AnEnum, AnIntEnum]
45+
if isinstance(data, Unset):
46+
return data
4647
try:
4748
a_property = UNSET
4849
_a_property = data
49-
if _a_property is not None:
50+
if _a_property is not None and not isinstance(_a_property, Unset):
5051
a_property = AnEnum(_a_property)
5152

5253
return a_property
5354
except: # noqa: E722
5455
pass
5556
a_property = UNSET
5657
_a_property = data
57-
if _a_property is not None:
58+
if _a_property is not None and not isinstance(_a_property, Unset):
5859
a_property = AnIntEnum(_a_property)
5960

6061
return a_property

end_to_end_tests/golden-record-custom/custom_e2e/models/a_model_nullable_model.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,21 +40,22 @@ def to_dict(self) -> Dict[str, Any]:
4040
def from_dict(src_dict: Dict[str, Any]) -> "AModelNullableModel":
4141
d = src_dict.copy()
4242

43-
def _parse_a_property(data: Any) -> Union[Unset, AnEnum, AnIntEnum]:
44-
data = None if isinstance(data, Unset) else data
43+
def _parse_a_property(data: Union[Unset, int]) -> Union[Unset, AnEnum, AnIntEnum]:
4544
a_property: Union[Unset, AnEnum, AnIntEnum]
45+
if isinstance(data, Unset):
46+
return data
4647
try:
4748
a_property = UNSET
4849
_a_property = data
49-
if _a_property is not None:
50+
if _a_property is not None and not isinstance(_a_property, Unset):
5051
a_property = AnEnum(_a_property)
5152

5253
return a_property
5354
except: # noqa: E722
5455
pass
5556
a_property = UNSET
5657
_a_property = data
57-
if _a_property is not None:
58+
if _a_property is not None and not isinstance(_a_property, Unset):
5859
a_property = AnIntEnum(_a_property)
5960

6061
return a_property

end_to_end_tests/golden-record-custom/custom_e2e/models/model_with_any_json_properties.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
import attr
44

55
from ..models.model_with_any_json_properties_additional_property import ModelWithAnyJsonPropertiesAdditionalProperty
6-
from ..types import Unset
76

87

98
@attr.s(auto_attribs=True)
@@ -40,9 +39,8 @@ def from_dict(src_dict: Dict[str, Any]) -> "ModelWithAnyJsonProperties":
4039
for prop_name, prop_dict in d.items():
4140

4241
def _parse_additional_property(
43-
data: Any,
42+
data: Union[Dict[str, Any], List[Any], str, float, int, bool]
4443
) -> Union[ModelWithAnyJsonPropertiesAdditionalProperty, List[str], str, float, int, bool]:
45-
data = None if isinstance(data, Unset) else data
4644
additional_property: Union[
4745
ModelWithAnyJsonPropertiesAdditionalProperty, List[str], str, float, int, bool
4846
]

end_to_end_tests/golden-record-custom/custom_e2e/models/model_with_primitive_additional_properties.py

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from typing import Any, Dict, List, Union, cast
1+
from typing import Any, Dict, List, Union
22

33
import attr
44

@@ -33,10 +33,8 @@ def from_dict(src_dict: Dict[str, Any]) -> "ModelWithPrimitiveAdditionalProperti
3333
d = src_dict.copy()
3434
a_date_holder: Union[Unset, ModelWithPrimitiveAdditionalPropertiesADateHolder] = UNSET
3535
_a_date_holder = d.pop("a_date_holder", UNSET)
36-
if not isinstance(_a_date_holder, Unset):
37-
a_date_holder = ModelWithPrimitiveAdditionalPropertiesADateHolder.from_dict(
38-
cast(Dict[str, Any], _a_date_holder)
39-
)
36+
if _a_date_holder is not None and not isinstance(_a_date_holder, Unset):
37+
a_date_holder = ModelWithPrimitiveAdditionalPropertiesADateHolder.from_dict(_a_date_holder)
4038

4139
model_with_primitive_additional_properties = ModelWithPrimitiveAdditionalProperties(
4240
a_date_holder=a_date_holder,

end_to_end_tests/golden-record-custom/custom_e2e/models/model_with_union_property.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,21 +38,22 @@ def to_dict(self) -> Dict[str, Any]:
3838
def from_dict(src_dict: Dict[str, Any]) -> "ModelWithUnionProperty":
3939
d = src_dict.copy()
4040

41-
def _parse_a_property(data: Any) -> Union[Unset, AnEnum, AnIntEnum]:
42-
data = None if isinstance(data, Unset) else data
41+
def _parse_a_property(data: Union[Unset, int]) -> Union[Unset, AnEnum, AnIntEnum]:
4342
a_property: Union[Unset, AnEnum, AnIntEnum]
43+
if isinstance(data, Unset):
44+
return data
4445
try:
4546
a_property = UNSET
4647
_a_property = data
47-
if _a_property is not None:
48+
if _a_property is not None and not isinstance(_a_property, Unset):
4849
a_property = AnEnum(_a_property)
4950

5051
return a_property
5152
except: # noqa: E722
5253
pass
5354
a_property = UNSET
5455
_a_property = data
55-
if _a_property is not None:
56+
if _a_property is not None and not isinstance(_a_property, Unset):
5657
a_property = AnIntEnum(_a_property)
5758

5859
return a_property

0 commit comments

Comments
 (0)