1
+ import json
1
2
from io import BytesIO
2
- from typing import Any , Dict , Type , TypeVar , Union
3
+ from typing import Any , Dict , List , Optional , Tuple , Type , TypeVar , Union , cast
3
4
4
5
import attr
5
6
6
- from ..types import UNSET , File , Unset
7
+ from ..models .body_upload_file_tests_upload_post_additional_property import (
8
+ BodyUploadFileTestsUploadPostAdditionalProperty ,
9
+ )
10
+ from ..models .body_upload_file_tests_upload_post_some_nullable_object import (
11
+ BodyUploadFileTestsUploadPostSomeNullableObject ,
12
+ )
13
+ from ..models .body_upload_file_tests_upload_post_some_object import BodyUploadFileTestsUploadPostSomeObject
14
+ from ..models .body_upload_file_tests_upload_post_some_optional_object import (
15
+ BodyUploadFileTestsUploadPostSomeOptionalObject ,
16
+ )
17
+ from ..models .different_enum import DifferentEnum
18
+ from ..types import UNSET , File , FileJsonType , Unset
7
19
8
20
T = TypeVar ("T" , bound = "BodyUploadFileTestsUploadPost" )
9
21
@@ -13,21 +25,122 @@ class BodyUploadFileTestsUploadPost:
13
25
""" """
14
26
15
27
some_file : File
28
+ some_object : BodyUploadFileTestsUploadPostSomeObject
29
+ some_nullable_object : Optional [BodyUploadFileTestsUploadPostSomeNullableObject ]
30
+ some_optional_file : Union [Unset , File ] = UNSET
16
31
some_string : Union [Unset , str ] = "some_default_string"
32
+ some_number : Union [Unset , float ] = UNSET
33
+ some_array : Union [Unset , List [float ]] = UNSET
34
+ some_optional_object : Union [Unset , BodyUploadFileTestsUploadPostSomeOptionalObject ] = UNSET
35
+ some_enum : Union [Unset , DifferentEnum ] = UNSET
36
+ additional_properties : Dict [str , BodyUploadFileTestsUploadPostAdditionalProperty ] = attr .ib (
37
+ init = False , factory = dict
38
+ )
17
39
18
40
def to_dict (self ) -> Dict [str , Any ]:
19
41
some_file = self .some_file .to_tuple ()
20
42
43
+ some_object = self .some_object .to_dict ()
44
+
45
+ some_optional_file : Union [Unset , FileJsonType ] = UNSET
46
+ if not isinstance (self .some_optional_file , Unset ):
47
+ some_optional_file = self .some_optional_file .to_tuple ()
48
+
21
49
some_string = self .some_string
50
+ some_number = self .some_number
51
+ some_array : Union [Unset , List [float ]] = UNSET
52
+ if not isinstance (self .some_array , Unset ):
53
+ some_array = self .some_array
54
+
55
+ some_optional_object : Union [Unset , Dict [str , Any ]] = UNSET
56
+ if not isinstance (self .some_optional_object , Unset ):
57
+ some_optional_object = self .some_optional_object .to_dict ()
58
+
59
+ some_nullable_object = self .some_nullable_object .to_dict () if self .some_nullable_object else None
60
+
61
+ some_enum : Union [Unset , str ] = UNSET
62
+ if not isinstance (self .some_enum , Unset ):
63
+ some_enum = self .some_enum .value
22
64
23
65
field_dict : Dict [str , Any ] = {}
66
+ for prop_name , prop in self .additional_properties .items ():
67
+ field_dict [prop_name ] = prop .to_dict ()
68
+
24
69
field_dict .update (
25
70
{
26
71
"some_file" : some_file ,
72
+ "some_object" : some_object ,
73
+ "some_nullable_object" : some_nullable_object ,
27
74
}
28
75
)
76
+ if some_optional_file is not UNSET :
77
+ field_dict ["some_optional_file" ] = some_optional_file
29
78
if some_string is not UNSET :
30
79
field_dict ["some_string" ] = some_string
80
+ if some_number is not UNSET :
81
+ field_dict ["some_number" ] = some_number
82
+ if some_array is not UNSET :
83
+ field_dict ["some_array" ] = some_array
84
+ if some_optional_object is not UNSET :
85
+ field_dict ["some_optional_object" ] = some_optional_object
86
+ if some_enum is not UNSET :
87
+ field_dict ["some_enum" ] = some_enum
88
+
89
+ return field_dict
90
+
91
+ def to_multipart (self ) -> Dict [str , Any ]:
92
+ some_file = self .some_file .to_tuple ()
93
+
94
+ some_object = (None , json .dumps (self .some_object .to_dict ()), "application/json" )
95
+
96
+ some_optional_file : Union [Unset , FileJsonType ] = UNSET
97
+ if not isinstance (self .some_optional_file , Unset ):
98
+ some_optional_file = self .some_optional_file .to_tuple ()
99
+
100
+ some_string = self .some_string if self .some_string is UNSET else (None , str (self .some_string ), "text/plain" )
101
+ some_number = self .some_number if self .some_number is UNSET else (None , str (self .some_number ), "text/plain" )
102
+ some_array : Union [Unset , Tuple [None , str , str ]] = UNSET
103
+ if not isinstance (self .some_array , Unset ):
104
+ _temp_some_array = self .some_array
105
+ some_array = (None , json .dumps (_temp_some_array ), "application/json" )
106
+
107
+ some_optional_object : Union [Unset , Tuple [None , str , str ]] = UNSET
108
+ if not isinstance (self .some_optional_object , Unset ):
109
+ some_optional_object = (None , json .dumps (self .some_optional_object .to_dict ()), "application/json" )
110
+
111
+ some_nullable_object = (
112
+ (None , json .dumps (self .some_nullable_object .to_dict ()), "application/json" )
113
+ if self .some_nullable_object
114
+ else None
115
+ )
116
+
117
+ some_enum : Union [Unset , Tuple [None , str , str ]] = UNSET
118
+ if not isinstance (self .some_enum , Unset ):
119
+ some_enum = (None , str (self .some_enum .value ), "text/plain" )
120
+
121
+ field_dict : Dict [str , Any ] = {}
122
+ for prop_name , prop in self .additional_properties .items ():
123
+ field_dict [prop_name ] = (None , json .dumps (prop .to_dict ()), "application/json" )
124
+
125
+ field_dict .update (
126
+ {
127
+ "some_file" : some_file ,
128
+ "some_object" : some_object ,
129
+ "some_nullable_object" : some_nullable_object ,
130
+ }
131
+ )
132
+ if some_optional_file is not UNSET :
133
+ field_dict ["some_optional_file" ] = some_optional_file
134
+ if some_string is not UNSET :
135
+ field_dict ["some_string" ] = some_string
136
+ if some_number is not UNSET :
137
+ field_dict ["some_number" ] = some_number
138
+ if some_array is not UNSET :
139
+ field_dict ["some_array" ] = some_array
140
+ if some_optional_object is not UNSET :
141
+ field_dict ["some_optional_object" ] = some_optional_object
142
+ if some_enum is not UNSET :
143
+ field_dict ["some_enum" ] = some_enum
31
144
32
145
return field_dict
33
146
@@ -36,11 +149,75 @@ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
36
149
d = src_dict .copy ()
37
150
some_file = File (payload = BytesIO (d .pop ("some_file" )))
38
151
152
+ some_object = BodyUploadFileTestsUploadPostSomeObject .from_dict (d .pop ("some_object" ))
153
+
154
+ _some_optional_file = d .pop ("some_optional_file" , UNSET )
155
+ some_optional_file : Union [Unset , File ]
156
+ if isinstance (_some_optional_file , Unset ):
157
+ some_optional_file = UNSET
158
+ else :
159
+ some_optional_file = File (payload = BytesIO (_some_optional_file ))
160
+
39
161
some_string = d .pop ("some_string" , UNSET )
40
162
163
+ some_number = d .pop ("some_number" , UNSET )
164
+
165
+ some_array = cast (List [float ], d .pop ("some_array" , UNSET ))
166
+
167
+ _some_optional_object = d .pop ("some_optional_object" , UNSET )
168
+ some_optional_object : Union [Unset , BodyUploadFileTestsUploadPostSomeOptionalObject ]
169
+ if isinstance (_some_optional_object , Unset ):
170
+ some_optional_object = UNSET
171
+ else :
172
+ some_optional_object = BodyUploadFileTestsUploadPostSomeOptionalObject .from_dict (_some_optional_object )
173
+
174
+ _some_nullable_object = d .pop ("some_nullable_object" )
175
+ some_nullable_object : Optional [BodyUploadFileTestsUploadPostSomeNullableObject ]
176
+ if _some_nullable_object is None :
177
+ some_nullable_object = None
178
+ else :
179
+ some_nullable_object = BodyUploadFileTestsUploadPostSomeNullableObject .from_dict (_some_nullable_object )
180
+
181
+ _some_enum = d .pop ("some_enum" , UNSET )
182
+ some_enum : Union [Unset , DifferentEnum ]
183
+ if isinstance (_some_enum , Unset ):
184
+ some_enum = UNSET
185
+ else :
186
+ some_enum = DifferentEnum (_some_enum )
187
+
41
188
body_upload_file_tests_upload_post = cls (
42
189
some_file = some_file ,
190
+ some_object = some_object ,
191
+ some_optional_file = some_optional_file ,
43
192
some_string = some_string ,
193
+ some_number = some_number ,
194
+ some_array = some_array ,
195
+ some_optional_object = some_optional_object ,
196
+ some_nullable_object = some_nullable_object ,
197
+ some_enum = some_enum ,
44
198
)
45
199
200
+ additional_properties = {}
201
+ for prop_name , prop_dict in d .items ():
202
+ additional_property = BodyUploadFileTestsUploadPostAdditionalProperty .from_dict (prop_dict )
203
+
204
+ additional_properties [prop_name ] = additional_property
205
+
206
+ body_upload_file_tests_upload_post .additional_properties = additional_properties
46
207
return body_upload_file_tests_upload_post
208
+
209
+ @property
210
+ def additional_keys (self ) -> List [str ]:
211
+ return list (self .additional_properties .keys ())
212
+
213
+ def __getitem__ (self , key : str ) -> BodyUploadFileTestsUploadPostAdditionalProperty :
214
+ return self .additional_properties [key ]
215
+
216
+ def __setitem__ (self , key : str , value : BodyUploadFileTestsUploadPostAdditionalProperty ) -> None :
217
+ self .additional_properties [key ] = value
218
+
219
+ def __delitem__ (self , key : str ) -> None :
220
+ del self .additional_properties [key ]
221
+
222
+ def __contains__ (self , key : str ) -> bool :
223
+ return key in self .additional_properties
0 commit comments