Skip to content

Commit 25dd9f4

Browse files
chore: render python params correctly (#689)
1 parent ab3c1e1 commit 25dd9f4

File tree

2 files changed

+108
-38
lines changed

2 files changed

+108
-38
lines changed

examples/python/twilio/rest/flex_api/v1/credential/aws/history.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -125,16 +125,16 @@ def fetch(
125125
:returns: The fetched HistoryInstance
126126
"""
127127

128-
data = values.of({})
128+
params = values.of({})
129129

130-
data.update(serialize.prefixed_collapsible_map(add_ons_data, "AddOns"))
130+
params.update(serialize.prefixed_collapsible_map(add_ons_data, "AddOns"))
131131

132132
headers = values.of({})
133133

134134
headers["Accept"] = "application/json"
135135

136136
payload = self._version.fetch(
137-
method="GET", uri=self._uri, params=data, headers=headers
137+
method="GET", uri=self._uri, params=params, headers=headers
138138
)
139139

140140
return HistoryInstance(
@@ -154,16 +154,16 @@ async def fetch_async(
154154
:returns: The fetched HistoryInstance
155155
"""
156156

157-
data = values.of({})
157+
params = values.of({})
158158

159-
data.update(serialize.prefixed_collapsible_map(add_ons_data, "AddOns"))
159+
params.update(serialize.prefixed_collapsible_map(add_ons_data, "AddOns"))
160160

161161
headers = values.of({})
162162

163163
headers["Accept"] = "application/json"
164164

165165
payload = await self._version.fetch_async(
166-
method="GET", uri=self._uri, params=data, headers=headers
166+
method="GET", uri=self._uri, params=params, headers=headers
167167
)
168168

169169
return HistoryInstance(

src/main/resources/twilio-python/context.handlebars

Lines changed: 102 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,15 @@ class {{apiName}}Context(InstanceContext):
4141
{{/consumes}}
4242
{{#vendorExtensions.successProduce}}
4343
headers["Accept"] = "{{{mediaType}}}"
44-
{{/vendorExtensions.successProduce}}
44+
{{/vendorExtensions.successProduce}}{{#if queryParams}}
45+
params = values.of({ {{#allParams}}{{#isQueryParam}}{{#if vendorExtensions.x-prefixed-collapsible-map}}{{else}}
46+
'{{{baseName}}}': {{#if vendorExtensions.x-serialize}}{{vendorExtensions.x-serialize}}({{paramName}}{{#if isArray}}, lambda e: e){{else}}){{/if}}{{else}}{{paramName}}{{/if}},{{/if}}{{/isQueryParam}}{{/allParams}}
47+
})
4548

46-
payload = self._version.update(method='{{vendorExtensions.x-http-method}}', uri=self._uri, data=data, headers=headers)
49+
{{#allParams}}{{#isQueryParam}}{{#if vendorExtensions.x-prefixed-collapsible-map}}params.update({{vendorExtensions.x-serialize}}({{paramName}}, '{{vendorExtensions.x-prefixed-collapsible-map}}'))
50+
{{/if}}{{/isQueryParam}}{{/allParams}}{{/if}}
51+
52+
payload = self._version.update(method='{{vendorExtensions.x-http-method}}', uri=self._uri, data=data, headers=headers{{#if queryParams}}, params=params{{/if}})
4753

4854
return {{instanceName}}(
4955
self._version,
@@ -74,9 +80,15 @@ class {{apiName}}Context(InstanceContext):
7480
{{/consumes}}
7581
{{#vendorExtensions.successProduce}}
7682
headers["Accept"] = "{{{mediaType}}}"
77-
{{/vendorExtensions.successProduce}}
83+
{{/vendorExtensions.successProduce}}{{#if queryParams}}
84+
params = values.of({ {{#allParams}}{{#isQueryParam}}{{#if vendorExtensions.x-prefixed-collapsible-map}}{{else}}
85+
'{{{baseName}}}': {{#if vendorExtensions.x-serialize}}{{vendorExtensions.x-serialize}}({{paramName}}{{#if isArray}}, lambda e: e){{else}}){{/if}}{{else}}{{paramName}}{{/if}},{{/if}}{{/isQueryParam}}{{/allParams}}
86+
})
87+
88+
{{#allParams}}{{#isQueryParam}}{{#if vendorExtensions.x-prefixed-collapsible-map}}params.update({{vendorExtensions.x-serialize}}({{paramName}}, '{{vendorExtensions.x-prefixed-collapsible-map}}'))
89+
{{/if}}{{/isQueryParam}}{{/allParams}}{{/if}}
7890

79-
payload = await self._version.update_async(method='{{vendorExtensions.x-http-method}}', uri=self._uri, data=data, headers=headers)
91+
payload = await self._version.update_async(method='{{vendorExtensions.x-http-method}}', uri=self._uri, data=data, headers=headers{{#if queryParams}}, params=params{{/if}})
8092

8193
return {{instanceName}}(
8294
self._version,
@@ -92,22 +104,27 @@ class {{apiName}}Context(InstanceContext):
92104

93105
:returns: The fetched {{instanceName}}
94106
"""
95-
{{#if allParams}}
96-
data = values.of({ {{#allParams}}{{#if vendorExtensions.x-prefixed-collapsible-map}}{{else}}
97-
'{{{baseName}}}': {{#if vendorExtensions.x-serialize}}{{vendorExtensions.x-serialize}}({{paramName}}{{#if isArray}}, lambda e: e){{else}}){{/if}}{{else}}{{paramName}}{{/if}},{{/if}}{{/allParams}}
107+
{{#if queryParams}}
108+
params = values.of({ {{#allParams}}{{#isQueryParam}}{{#if vendorExtensions.x-prefixed-collapsible-map}}{{else}}
109+
'{{{baseName}}}': {{#if vendorExtensions.x-serialize}}{{vendorExtensions.x-serialize}}({{paramName}}{{#if isArray}}, lambda e: e){{else}}){{/if}}{{else}}{{paramName}}{{/if}},{{/if}}{{/isQueryParam}}{{/allParams}}
98110
})
99111

100-
{{#allParams}}{{#if vendorExtensions.x-prefixed-collapsible-map}}data.update({{vendorExtensions.x-serialize}}({{paramName}}, '{{vendorExtensions.x-prefixed-collapsible-map}}'))
101-
{{/if}}{{/allParams}}{{/if}}
112+
{{#allParams}}{{#isQueryParam}}{{#if vendorExtensions.x-prefixed-collapsible-map}}params.update({{vendorExtensions.x-serialize}}({{paramName}}, '{{vendorExtensions.x-prefixed-collapsible-map}}'))
113+
{{/if}}{{/isQueryParam}}{{/allParams}}{{/if}}
102114

103115
headers = values.of({})
116+
{{#allParams}}{{#isHeaderParam}}
117+
{{^if required}}
118+
if not ({{paramName}} is values.unset or (isinstance({{paramName}}, str) and not {{paramName}})):{{/if}}
119+
headers['{{{baseName}}}'] = {{paramName}}
120+
{{/isHeaderParam}}{{/allParams}}
104121
{{#consumes}}
105122
headers["Content-Type"] = "{{{mediaType}}}"
106123
{{/consumes}}
107124
{{#vendorExtensions.successProduce}}
108125
headers["Accept"] = "{{{mediaType}}}"
109126
{{/vendorExtensions.successProduce}}
110-
payload = self._version.fetch(method='{{vendorExtensions.x-http-method}}', uri=self._uri {{#if allParams}}, params=data{{/if}} , headers=headers)
127+
payload = self._version.fetch(method='{{vendorExtensions.x-http-method}}', uri=self._uri {{#if queryParams}}, params=params{{/if}} , headers=headers)
111128

112129
return {{instanceName}}(
113130
self._version,
@@ -124,22 +141,27 @@ class {{apiName}}Context(InstanceContext):
124141

125142
:returns: The fetched {{instanceName}}
126143
"""
127-
{{#if allParams}}
128-
data = values.of({ {{#allParams}}{{#if vendorExtensions.x-prefixed-collapsible-map}}{{else}}
129-
'{{{baseName}}}': {{#if vendorExtensions.x-serialize}}{{vendorExtensions.x-serialize}}({{paramName}}{{#if isArray}}, lambda e: e){{else}}){{/if}}{{else}}{{paramName}}{{/if}},{{/if}}{{/allParams}}
144+
{{#if queryParams}}
145+
params = values.of({ {{#allParams}}{{#isQueryParam}}{{#if vendorExtensions.x-prefixed-collapsible-map}}{{else}}
146+
'{{{baseName}}}': {{#if vendorExtensions.x-serialize}}{{vendorExtensions.x-serialize}}({{paramName}}{{#if isArray}}, lambda e: e){{else}}){{/if}}{{else}}{{paramName}}{{/if}},{{/if}}{{/isQueryParam}}{{/allParams}}
130147
})
131148

132-
{{#allParams}}{{#if vendorExtensions.x-prefixed-collapsible-map}}data.update({{vendorExtensions.x-serialize}}({{paramName}}, '{{vendorExtensions.x-prefixed-collapsible-map}}'))
133-
{{/if}}{{/allParams}}{{/if}}
149+
{{#allParams}}{{#isQueryParam}}{{#if vendorExtensions.x-prefixed-collapsible-map}}params.update({{vendorExtensions.x-serialize}}({{paramName}}, '{{vendorExtensions.x-prefixed-collapsible-map}}'))
150+
{{/if}}{{/isQueryParam}}{{/allParams}}{{/if}}
134151

135152
headers = values.of({})
153+
{{#allParams}}{{#isHeaderParam}}
154+
{{^if required}}
155+
if not ({{paramName}} is values.unset or (isinstance({{paramName}}, str) and not {{paramName}})):{{/if}}
156+
headers['{{{baseName}}}'] = {{paramName}}
157+
{{/isHeaderParam}}{{/allParams}}
136158
{{#consumes}}
137159
headers["Content-Type"] = "{{{mediaType}}}"
138160
{{/consumes}}
139161
{{#vendorExtensions.successProduce}}
140162
headers["Accept"] = "{{{mediaType}}}"
141163
{{/vendorExtensions.successProduce}}
142-
payload = await self._version.fetch_async(method='{{vendorExtensions.x-http-method}}', uri=self._uri {{#if allParams}}, params=data{{/if}}, headers=headers)
164+
payload = await self._version.fetch_async(method='{{vendorExtensions.x-http-method}}', uri=self._uri {{#if queryParams}}, params=params{{/if}}, headers=headers)
143165

144166
return {{instanceName}}(
145167
self._version,
@@ -155,20 +177,26 @@ class {{apiName}}Context(InstanceContext):
155177
{{#allParams}}:param {{paramName}}: {{{description}}}
156178
{{/allParams}}
157179
:returns: True if delete succeeds, False otherwise
158-
"""{{#if allParams}}
159-
headers = values.of({{#allParams}}{'{{{baseName}}}': {{paramName}}, }{{/allParams}})
180+
"""{{#if headerParams}}
181+
headers = values.of({{#allParams}}{{#isHeaderParam}}{'{{{baseName}}}': {{paramName}}, }{{/isHeaderParam}}{{/allParams}})
160182
{{/if}}
161183

162-
{{^if allParams}}
184+
{{^if headerParams}}
163185
headers = values.of({})
164186
{{/if}}
165187
{{#consumes}}
166188
headers["Content-Type"] = "{{{mediaType}}}"
167189
{{/consumes}}
168190
{{#vendorExtensions.successProduce}}
169191
headers["Accept"] = "{{{mediaType}}}"
170-
{{/vendorExtensions.successProduce}}
171-
return self._version.delete(method='{{vendorExtensions.x-http-method}}', uri=self._uri, headers=headers)
192+
{{/vendorExtensions.successProduce}}{{#if queryParams}}
193+
params = values.of({ {{#allParams}}{{#isQueryParam}}{{#if vendorExtensions.x-prefixed-collapsible-map}}{{else}}
194+
'{{{baseName}}}': {{#if vendorExtensions.x-serialize}}{{vendorExtensions.x-serialize}}({{paramName}}{{#if isArray}}, lambda e: e){{else}}){{/if}}{{else}}{{paramName}}{{/if}},{{/if}}{{/isQueryParam}}{{/allParams}}
195+
})
196+
197+
{{#allParams}}{{#isQueryParam}}{{#if vendorExtensions.x-prefixed-collapsible-map}}params.update({{vendorExtensions.x-serialize}}({{paramName}}, '{{vendorExtensions.x-prefixed-collapsible-map}}'))
198+
{{/if}}{{/isQueryParam}}{{/allParams}}{{/if}}
199+
return self._version.delete(method='{{vendorExtensions.x-http-method}}', uri=self._uri, headers=headers{{#if queryParams}}, params=params{{/if}})
172200

173201
async def {{vendorExtensions.x-name-lower}}_async(self{{#allParams}}, {{paramName}}: {{#if required}}{{{dataType}}}{{else}}Union[{{{dataType}}}, object]=values.unset{{/if}}{{/allParams}}) -> bool:
174202
"""
@@ -177,19 +205,25 @@ class {{apiName}}Context(InstanceContext):
177205
{{#allParams}}:param {{paramName}}: {{{description}}}
178206
{{/allParams}}
179207
:returns: True if delete succeeds, False otherwise
180-
"""{{#if allParams}}
181-
headers = values.of({{#allParams}}{'{{{baseName}}}': {{paramName}}, }{{/allParams}})
208+
"""{{#if headerParams}}
209+
headers = values.of({{#allParams}}{{#isHeaderParam}}{'{{{baseName}}}': {{paramName}}, }{{/isHeaderParam}}{{/allParams}})
182210
{{/if}}
183-
{{^if allParams}}
211+
{{^if headerParams}}
184212
headers = values.of({})
185213
{{/if}}
186214
{{#consumes}}
187215
headers["Content-Type"] = "{{{mediaType}}}"
188216
{{/consumes}}
189217
{{#vendorExtensions.successProduce}}
190218
headers["Accept"] = "{{{mediaType}}}"
191-
{{/vendorExtensions.successProduce}}
192-
return await self._version.delete_async(method='{{vendorExtensions.x-http-method}}', uri=self._uri, headers=headers)
219+
{{/vendorExtensions.successProduce}}{{#if queryParams}}
220+
params = values.of({ {{#allParams}}{{#isQueryParam}}{{#if vendorExtensions.x-prefixed-collapsible-map}}{{else}}
221+
'{{{baseName}}}': {{#if vendorExtensions.x-serialize}}{{vendorExtensions.x-serialize}}({{paramName}}{{#if isArray}}, lambda e: e){{else}}){{/if}}{{else}}{{paramName}}{{/if}},{{/if}}{{/isQueryParam}}{{/allParams}}
222+
})
223+
224+
{{#allParams}}{{#isQueryParam}}{{#if vendorExtensions.x-prefixed-collapsible-map}}params.update({{vendorExtensions.x-serialize}}({{paramName}}, '{{vendorExtensions.x-prefixed-collapsible-map}}'))
225+
{{/if}}{{/isQueryParam}}{{/allParams}}{{/if}}
226+
return await self._version.delete_async(method='{{vendorExtensions.x-http-method}}', uri=self._uri, headers=headers{{#if queryParams}}, params=params{{/if}})
193227
{{/vendorExtensions.x-twilio.ignoreOperation}}{{/vendorExtensions.x-is-delete-operation}}{{#vendorExtensions.x-is-create-operation}}{{^vendorExtensions.x-twilio.ignoreOperation}}
194228
def {{vendorExtensions.x-name-lower}}(self{{#allParams}}, {{paramName}}: {{#if required}}{{{dataType}}}{{else}}Union[{{{dataType}}}, object]=values.unset{{/if}}{{/allParams}}) -> {{instanceName}}:
195229
"""
@@ -199,11 +233,29 @@ class {{apiName}}Context(InstanceContext):
199233

200234
:returns: The created {{instanceName}}
201235
"""
202-
data = values.of({ {{#allParams}}
203-
'{{{baseName}}}': {{#if vendorExtensions.x-serialize}}{{vendorExtensions.x-serialize}}({{paramName}}{{#if isArray}}, lambda e: e){{else}}){{/if}}{{else}}{{paramName}}{{/if}},{{/allParams}}
236+
{{#bodyParam}}data = {{paramName}}.to_dict(){{/bodyParam}}
237+
{{^bodyParam}}data = values.of({ {{#allParams}}{{#isFormParam}}
238+
'{{{baseName}}}': {{#if vendorExtensions.x-serialize}}{{vendorExtensions.x-serialize}}({{paramName}}{{#if isArray}}, lambda e: e){{else}}){{/if}}{{else}}{{paramName}}{{/if}},{{/isFormParam}}{{/allParams}}
239+
}){{/bodyParam}}
240+
headers = values.of({})
241+
{{#allParams}}{{#isHeaderParam}}
242+
{{^if required}}
243+
if not ({{paramName}} is values.unset or (isinstance({{paramName}}, str) and not {{paramName}})):{{/if}}
244+
headers['{{{baseName}}}'] = {{paramName}}{{/isHeaderParam}}{{/allParams}}
245+
{{#consumes}}
246+
headers["Content-Type"] = "{{{mediaType}}}"
247+
{{/consumes}}
248+
{{#vendorExtensions.successProduce}}
249+
headers["Accept"] = "{{{mediaType}}}"
250+
{{/vendorExtensions.successProduce}}{{#if queryParams}}
251+
params = values.of({ {{#allParams}}{{#isQueryParam}}{{#if vendorExtensions.x-prefixed-collapsible-map}}{{else}}
252+
'{{{baseName}}}': {{#if vendorExtensions.x-serialize}}{{vendorExtensions.x-serialize}}({{paramName}}{{#if isArray}}, lambda e: e){{else}}){{/if}}{{else}}{{paramName}}{{/if}},{{/if}}{{/isQueryParam}}{{/allParams}}
204253
})
205254

206-
payload = self._version.create(method='{{vendorExtensions.x-http-method}}', uri=self._uri, data=data)
255+
{{#allParams}}{{#isQueryParam}}{{#if vendorExtensions.x-prefixed-collapsible-map}}params.update({{vendorExtensions.x-serialize}}({{paramName}}, '{{vendorExtensions.x-prefixed-collapsible-map}}'))
256+
{{/if}}{{/isQueryParam}}{{/allParams}}{{/if}}
257+
258+
payload = self._version.create(method='{{vendorExtensions.x-http-method}}', uri=self._uri, data=data, headers=headers{{#if queryParams}}, params=params{{/if}})
207259

208260
return {{instanceName}}(
209261
self._version,
@@ -219,11 +271,29 @@ class {{apiName}}Context(InstanceContext):
219271

220272
:returns: The created {{instanceName}}
221273
"""
222-
data = values.of({ {{#allParams}}
223-
'{{{baseName}}}': {{#if vendorExtensions.x-serialize}}{{vendorExtensions.x-serialize}}({{paramName}}{{#if isArray}}, lambda e: e){{else}}){{/if}}{{else}}{{paramName}}{{/if}},{{/allParams}}
274+
{{#bodyParam}}data = {{paramName}}.to_dict(){{/bodyParam}}
275+
{{^bodyParam}}data = values.of({ {{#allParams}}{{#isFormParam}}
276+
'{{{baseName}}}': {{#if vendorExtensions.x-serialize}}{{vendorExtensions.x-serialize}}({{paramName}}{{#if isArray}}, lambda e: e){{else}}){{/if}}{{else}}{{paramName}}{{/if}},{{/isFormParam}}{{/allParams}}
277+
}){{/bodyParam}}
278+
headers = values.of({})
279+
{{#allParams}}{{#isHeaderParam}}
280+
{{^if required}}
281+
if not ({{paramName}} is values.unset or (isinstance({{paramName}}, str) and not {{paramName}})):{{/if}}
282+
headers['{{{baseName}}}'] = {{paramName}}{{/isHeaderParam}}{{/allParams}}
283+
{{#consumes}}
284+
headers["Content-Type"] = "{{{mediaType}}}"
285+
{{/consumes}}
286+
{{#vendorExtensions.successProduce}}
287+
headers["Accept"] = "{{{mediaType}}}"
288+
{{/vendorExtensions.successProduce}}{{#if queryParams}}
289+
params = values.of({ {{#allParams}}{{#isQueryParam}}{{#if vendorExtensions.x-prefixed-collapsible-map}}{{else}}
290+
'{{{baseName}}}': {{#if vendorExtensions.x-serialize}}{{vendorExtensions.x-serialize}}({{paramName}}{{#if isArray}}, lambda e: e){{else}}){{/if}}{{else}}{{paramName}}{{/if}},{{/if}}{{/isQueryParam}}{{/allParams}}
224291
})
225292

226-
payload = await self._version.create_async(method='{{vendorExtensions.x-http-method}}', uri=self._uri, data=data)
293+
{{#allParams}}{{#isQueryParam}}{{#if vendorExtensions.x-prefixed-collapsible-map}}params.update({{vendorExtensions.x-serialize}}({{paramName}}, '{{vendorExtensions.x-prefixed-collapsible-map}}'))
294+
{{/if}}{{/isQueryParam}}{{/allParams}}{{/if}}
295+
296+
payload = await self._version.create_async(method='{{vendorExtensions.x-http-method}}', uri=self._uri, data=data, headers=headers{{#if queryParams}}, params=params{{/if}})
227297

228298
return {{instanceName}}(
229299
self._version,

0 commit comments

Comments
 (0)