88
99class PythonSDKBuilder (PythonWriter ):
1010 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 = {}):
1213 """
1314 Args:
1415 url:
1516 Sample endpoint: Endpoint for quick testing
17+ override_param_defaults: Override param defaults in SDK
1618 """
1719 self .sample_endpoint = sample_endpoint
1820 self .url = url
@@ -23,6 +25,7 @@ def __init__(self, url: str='', sample_endpoint: str='',
2325 self .inherited_properties = inherited_properties
2426 self .decorators = decorators
2527 self .indent_level = 0
28+ self .override_param_defaults = override_param_defaults
2629
2730 def _download_json (self ):
2831 return requests .get (self .url + "/openapi.json" ).json ()
@@ -121,12 +124,31 @@ def create_documentation(self, endpoint):
121124 documentation += '\n '
122125 return documentation
123126
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+
124136 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
125140 if 'default' in param .keys ():
126141 return param ['default' ]
127142 if 'schema' in param .keys ():
128143 if 'default' in param ['schema' ]:
129144 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
130152
131153 def get_decorator_string (self ):
132154 string = ''
@@ -153,7 +175,7 @@ def get_request_get_template(self, endpoint_metadata_name, endpoint, body_kwargs
153175 if param ['name' ] in self .inherited_properties :
154176 continue
155177 default_parameter = self .get_default_value_in_param (param )
156- if default_parameter is not None :
178+ if default_parameter != self . missing_value :
157179 if isinstance (default_parameter , str ):
158180 default_parameter = '"' + str (default_parameter ) + '"'
159181 # string += "=" + str(default_parameter)
@@ -173,7 +195,7 @@ def get_request_get_template(self, endpoint_metadata_name, endpoint, body_kwargs
173195 default_arguments = []
174196 for param in body_kwargs :
175197 default_parameter = self .get_default_value_in_param (param )
176- if default_parameter is not None :
198+ if default_parameter != self . missing_value :
177199 default_arguments .append (default_parameter )
178200 string += self .add_indent () + param ['name' ] + '=' + param ['name' ] + ', '
179201 elif param ['name' ] in self .inherited_properties :
@@ -204,7 +226,7 @@ def get_request_post_template(self, endpoint_metadata_name, endpoint, body_kwarg
204226 if k in self .inherited_properties :
205227 continue
206228 default_parameter = self .get_default_value_in_param (v )
207- if default_parameter is not None :
229+ if default_parameter != self . missing_value :
208230 if isinstance (default_parameter , str ):
209231 default_parameter = '"' + str (default_parameter ) + '"'
210232 # string += "=" + str(default_parameter)
0 commit comments