8
8
9
9
class PythonSDKBuilder (PythonWriter ):
10
10
def __init__ (self , url : str = '' , sample_endpoint : str = '' ,
11
- inherited_properties : List [str ]= [], json_fn : str = None , decorators : Dict [str , str ]= {}):
11
+ inherited_properties : List [str ]= [], json_fn : str = None ,
12
+ decorators : Dict [str , str ]= {}, override_param_defaults = {}):
12
13
"""
13
14
Args:
14
15
url:
15
16
Sample endpoint: Endpoint for quick testing
17
+ override_param_defaults: Override param defaults in SDK
16
18
"""
17
19
self .sample_endpoint = sample_endpoint
18
20
self .url = url
@@ -23,6 +25,7 @@ def __init__(self, url: str='', sample_endpoint: str='',
23
25
self .inherited_properties = inherited_properties
24
26
self .decorators = decorators
25
27
self .indent_level = 0
28
+ self .override_param_defaults = override_param_defaults
26
29
27
30
def _download_json (self ):
28
31
return requests .get (self .url + "/openapi.json" ).json ()
@@ -121,12 +124,31 @@ def create_documentation(self, endpoint):
121
124
documentation += '\n '
122
125
return documentation
123
126
127
+ def get_default_value_from_override (self , param ):
128
+ if 'title' in param .keys ():
129
+ if param ['title' ] in self .override_param_defaults :
130
+ return self .override_param_defaults [param ['title' ]]
131
+ if 'name' in param .keys ():
132
+ if param ['name' ] in self .override_param_defaults :
133
+ return self .override_param_defaults [param ['name' ]]
134
+ return self .missing_value
135
+
124
136
def get_default_value_in_param (self , param ):
137
+ default_value = self .get_default_value_from_override (param )
138
+ if default_value != self .missing_value :
139
+ return default_value
125
140
if 'default' in param .keys ():
126
141
return param ['default' ]
127
142
if 'schema' in param .keys ():
128
143
if 'default' in param ['schema' ]:
129
144
return param ['schema' ]['default' ]
145
+ # if 'minimum' in param['schema']:
146
+ # return param['schema']['minimum']
147
+ return self .missing_value
148
+
149
+ @property
150
+ def missing_value (self ):
151
+ return - 99999
130
152
131
153
def get_decorator_string (self ):
132
154
string = ''
@@ -153,7 +175,7 @@ def get_request_get_template(self, endpoint_metadata_name, endpoint, body_kwargs
153
175
if param ['name' ] in self .inherited_properties :
154
176
continue
155
177
default_parameter = self .get_default_value_in_param (param )
156
- if default_parameter is not None :
178
+ if default_parameter != self . missing_value :
157
179
if isinstance (default_parameter , str ):
158
180
default_parameter = '"' + str (default_parameter ) + '"'
159
181
# string += "=" + str(default_parameter)
@@ -173,7 +195,7 @@ def get_request_get_template(self, endpoint_metadata_name, endpoint, body_kwargs
173
195
default_arguments = []
174
196
for param in body_kwargs :
175
197
default_parameter = self .get_default_value_in_param (param )
176
- if default_parameter is not None :
198
+ if default_parameter != self . missing_value :
177
199
default_arguments .append (default_parameter )
178
200
string += self .add_indent () + param ['name' ] + '=' + param ['name' ] + ', '
179
201
elif param ['name' ] in self .inherited_properties :
@@ -204,7 +226,7 @@ def get_request_post_template(self, endpoint_metadata_name, endpoint, body_kwarg
204
226
if k in self .inherited_properties :
205
227
continue
206
228
default_parameter = self .get_default_value_in_param (v )
207
- if default_parameter is not None :
229
+ if default_parameter != self . missing_value :
208
230
if isinstance (default_parameter , str ):
209
231
default_parameter = '"' + str (default_parameter ) + '"'
210
232
# string += "=" + str(default_parameter)
0 commit comments