Skip to content

Commit c91a264

Browse files
committed
chore: python mustache file implementation
1 parent 3be30f4 commit c91a264

File tree

5 files changed

+51
-25
lines changed

5 files changed

+51
-25
lines changed

scripts/build_twilio_library.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
'php': 'Rest'
1919
}
2020
generateForLanguages = {
21-
'twilio_iam_organizations.json' : ['java']
21+
'twilio_iam_organizations.json' : ['java','python']
2222
}
2323
CLEANUP_IMPORT_LANGUAGES = ['java', 'php']
2424
REMOVE_DUPLICATE_IMPORT_LANGUAGES = ['node']

scripts/generate.sh

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,9 @@ function generate() {
1717
rm -rf tmp
1818
mkdir -p tmp
1919
for api_spec in $files_regex; do
20-
if [ "$1" != "twilio-java" ] && [[ $api_spec == "examples/spec/twilio_iam_organizations.yaml" ]]; then
21-
continue
22-
fi
20+
# if [ "$1" != "twilio-java" ] && [[ $api_spec == "examples/spec/twilio_iam_organizations.yaml" ]]; then
21+
# continue
22+
# fi
2323
echo "generatorName: $1
2424
inputSpec: $api_spec
2525
outputDir: $OUT_DIR

src/main/resources/twilio-python/api-single.mustache

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@ from twilio.base import deserialize, serialize, values
88
{{#responseModel}}from twilio.base.instance_resource import InstanceResource{{/responseModel}}
99
from twilio.base.list_resource import ListResource
1010
from twilio.base.version import Version
11-
{{#vendorExtensions.x-auth-attributes.x-oauth}}
11+
{{#operations}}{{#vendorExtensions.x-auth-attributes.x-oauth}}
1212
from twilio.http.bearer_token_http_client import BearerTokenHTTPClient
1313
from twilio.http.token_manager import TokenManager
14-
{{/vendorExtensions.x-auth-attributes.x-oauth}}
14+
{{/vendorExtensions.x-auth-attributes.x-oauth}}{{/operations}}
1515
{{#hasPaginationOperation}}from twilio.base.page import Page{{/hasPaginationOperation}}
1616
{{#dependents}}from twilio.rest.{{domainPackage}}.{{apiVersion}}.{{namespaceSubPart}}.{{filename}} import {{resourceName}}List
1717
{{/dependents}}

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

Lines changed: 45 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -30,13 +30,21 @@ class {{apiName}}Context(InstanceContext):
3030
data = values.of({ {{#allParams}}{{#isFormParam}}
3131
'{{{baseName}}}': {{#if vendorExtensions.x-serialize}}{{vendorExtensions.x-serialize}}({{paramName}}{{#if isArray}}, lambda e: e){{else}}){{/if}}{{else}}{{paramName}}{{/if}},{{/isFormParam}}{{/allParams}}
3232
})
33-
{{#allParams}}{{^isFormParam}}headers = values.of({'{{{baseName}}}': {{paramName}}, }){{/isFormParam}}{{/allParams}}
33+
{{#allParams}}{{^isFormParam}}headers = values.of({'{{{baseName}}}': {{paramName}}, })
3434
{{#vendorExtensions.x-auth-attributes.x-oauth}}
3535
orgs_token_manager = TokenManager().get_token_manager(self._version)
3636
auth_token = BearerTokenHTTPClient(orgs_token_manager).get_headers(self._version)
3737
headers['Authorization'] = 'Bearer ' + auth_token
3838
{{/vendorExtensions.x-auth-attributes.x-oauth}}
39-
payload = self._version.update(method='{{vendorExtensions.x-http-method}}', uri=self._uri, data=data,{{#allParams}}{{#if isFormParam}}{{else}} headers=headers{{/if}}{{/allParams}})
39+
{{/isFormParam}}{{/allParams}}
40+
{{#allParams}}{{#isFormParam}}
41+
{{#vendorExtensions.x-auth-attributes.x-oauth}}
42+
orgs_token_manager = TokenManager().get_token_manager(self._version)
43+
auth_token = BearerTokenHTTPClient(orgs_token_manager).get_headers(self._version)
44+
headers = {'Authorization' : 'Bearer ' + auth_token }
45+
{{/vendorExtensions.x-auth-attributes.x-oauth}}
46+
{{/isFormParam}}{{/allParams}}
47+
payload = self._version.update(method='{{vendorExtensions.x-http-method}}', uri=self._uri, data=data,{{#allParams}}{{#if isFormParam}}{{else}} headers=headers{{/if}}{{/allParams}} {{#allParams}}{{#isFormParam}}{{#vendorExtensions.x-auth-attributes.x-oauth}}headers=headers{{/vendorExtensions.x-auth-attributes.x-oauth}}{{/isFormParam}}{{/allParams}})
4048

4149
return {{instanceName}}(
4250
self._version,
@@ -55,13 +63,21 @@ class {{apiName}}Context(InstanceContext):
5563
data = values.of({ {{#allParams}}{{#isFormParam}}
5664
'{{{baseName}}}': {{#if vendorExtensions.x-serialize}}{{vendorExtensions.x-serialize}}({{paramName}}{{#if isArray}}, lambda e: e){{else}}){{/if}}{{else}}{{paramName}}{{/if}},{{/isFormParam}}{{/allParams}}
5765
})
58-
{{#allParams}}{{^isFormParam}}headers = values.of({'{{{baseName}}}': {{paramName}}, }){{/isFormParam}}{{/allParams}}
66+
{{#allParams}}{{^isFormParam}}headers = values.of({'{{{baseName}}}': {{paramName}}, })
5967
{{#vendorExtensions.x-auth-attributes.x-oauth}}
6068
orgs_token_manager = TokenManager().get_token_manager(self._version)
6169
auth_token = BearerTokenHTTPClient(orgs_token_manager).get_headers(self._version)
6270
headers['Authorization'] = 'Bearer ' + auth_token
6371
{{/vendorExtensions.x-auth-attributes.x-oauth}}
64-
payload = await self._version.update_async(method='{{vendorExtensions.x-http-method}}', uri=self._uri, data=data,{{#allParams}}{{#if isFormParam}}{{else}} headers=headers{{/if}}{{/allParams}})
72+
{{/isFormParam}}{{/allParams}}
73+
{{#allParams}}{{#isFormParam}}
74+
{{#vendorExtensions.x-auth-attributes.x-oauth}}
75+
orgs_token_manager = TokenManager().get_token_manager(self._version)
76+
auth_token = BearerTokenHTTPClient(orgs_token_manager).get_headers(self._version)
77+
headers = {'Authorization' : 'Bearer ' + auth_token }
78+
{{/vendorExtensions.x-auth-attributes.x-oauth}}
79+
{{/isFormParam}}{{/allParams}}
80+
payload = await self._version.update_async(method='{{vendorExtensions.x-http-method}}', uri=self._uri, data=data,{{#allParams}}{{#if isFormParam}}{{else}} headers=headers{{/if}}{{/allParams}} {{#allParams}}{{#isFormParam}}{{#vendorExtensions.x-auth-attributes.x-oauth}}headers=headers{{/vendorExtensions.x-auth-attributes.x-oauth}}{{/isFormParam}}{{/allParams}})
6581

6682
return {{instanceName}}(
6783
self._version,
@@ -86,9 +102,9 @@ class {{apiName}}Context(InstanceContext):
86102
{{#vendorExtensions.x-auth-attributes.x-oauth}}
87103
orgs_token_manager = TokenManager().get_token_manager(self._version)
88104
auth_token = BearerTokenHTTPClient(orgs_token_manager).get_headers(self._version)
89-
headers['Authorization'] = 'Bearer ' + auth_token
105+
headers = {'Authorization': 'Bearer ' + auth_token}
90106
{{/vendorExtensions.x-auth-attributes.x-oauth}}
91-
payload = self._version.fetch(method='{{vendorExtensions.x-http-method}}', uri=self._uri, {{#if allParams}}params=data{{/if}})
107+
payload = self._version.fetch(method='{{vendorExtensions.x-http-method}}', uri=self._uri{{#if allParams}}, params=data{{/if}}{{#vendorExtensions.x-auth-attributes.x-oauth}}, headers=headers{{/vendorExtensions.x-auth-attributes.x-oauth}})
92108

93109
return {{instanceName}}(
94110
self._version,
@@ -114,9 +130,9 @@ class {{apiName}}Context(InstanceContext):
114130
{{#vendorExtensions.x-auth-attributes.x-oauth}}
115131
orgs_token_manager = TokenManager().get_token_manager(self._version)
116132
auth_token = BearerTokenHTTPClient(orgs_token_manager).get_headers(self._version)
117-
headers['Authorization'] = 'Bearer ' + auth_token
133+
headers = {'Authorization': 'Bearer ' + auth_token}
118134
{{/vendorExtensions.x-auth-attributes.x-oauth}}
119-
payload = await self._version.fetch_async(method='{{vendorExtensions.x-http-method}}', uri=self._uri, {{#if allParams}}params=data{{/if}})
135+
payload = await self._version.fetch_async(method='{{vendorExtensions.x-http-method}}', uri=self._uri{{#if allParams}}, params=data{{/if}}{{#vendorExtensions.x-auth-attributes.x-oauth}}, headers=headers{{/vendorExtensions.x-auth-attributes.x-oauth}})
120136

121137
return {{instanceName}}(
122138
self._version,
@@ -134,13 +150,20 @@ class {{apiName}}Context(InstanceContext):
134150
:returns: True if delete succeeds, False otherwise
135151
"""{{#if allParams}}
136152
headers = values.of({{#allParams}}{'{{{baseName}}}': {{paramName}}, }{{/allParams}})
137-
{{/if}}
138153
{{#vendorExtensions.x-auth-attributes.x-oauth}}
139154
orgs_token_manager = TokenManager().get_token_manager(self._version)
140155
auth_token = BearerTokenHTTPClient(orgs_token_manager).get_headers(self._version)
141156
headers['Authorization'] = 'Bearer ' + auth_token
142157
{{/vendorExtensions.x-auth-attributes.x-oauth}}
143-
return self._version.delete(method='{{vendorExtensions.x-http-method}}', uri=self._uri,{{#if allParams}} headers=headers{{/if}})
158+
{{/if}}
159+
{{^if allParams}}
160+
{{#vendorExtensions.x-auth-attributes.x-oauth}}
161+
orgs_token_manager = TokenManager().get_token_manager(self._version)
162+
auth_token = BearerTokenHTTPClient(orgs_token_manager).get_headers(self._version)
163+
headers = { 'Authorization': 'Bearer ' + auth_token}
164+
{{/vendorExtensions.x-auth-attributes.x-oauth}}
165+
{{/if}}
166+
return self._version.delete(method='{{vendorExtensions.x-http-method}}', uri=self._uri,{{#if allParams}} headers=headers{{/if}}{{^allParams}}{{#vendorExtensions.x-auth-attributes.x-oauth}} headers=headers{{/vendorExtensions.x-auth-attributes.x-oauth}}{{/allParams}})
144167

145168
async def {{vendorExtensions.x-name-lower}}_async(self{{#allParams}}, {{paramName}}: {{#if required}}{{{dataType}}}{{else}}Union[{{{dataType}}}, object]=values.unset{{/if}}{{/allParams}}) -> bool:
146169
"""
@@ -151,13 +174,20 @@ class {{apiName}}Context(InstanceContext):
151174
:returns: True if delete succeeds, False otherwise
152175
"""{{#if allParams}}
153176
headers = values.of({{#allParams}}{'{{{baseName}}}': {{paramName}}, }{{/allParams}})
154-
{{/if}}
155177
{{#vendorExtensions.x-auth-attributes.x-oauth}}
156178
orgs_token_manager = TokenManager().get_token_manager(self._version)
157179
auth_token = BearerTokenHTTPClient(orgs_token_manager).get_headers(self._version)
158180
headers['Authorization'] = 'Bearer ' + auth_token
159181
{{/vendorExtensions.x-auth-attributes.x-oauth}}
160-
return await self._version.delete_async(method='{{vendorExtensions.x-http-method}}', uri=self._uri,{{#if allParams}} headers=headers{{/if}})
182+
{{/if}}
183+
{{^if allParams}}
184+
{{#vendorExtensions.x-auth-attributes.x-oauth}}
185+
orgs_token_manager = TokenManager().get_token_manager(self._version)
186+
auth_token = BearerTokenHTTPClient(orgs_token_manager).get_headers(self._version)
187+
headers = { 'Authorization': 'Bearer ' + auth_token }
188+
{{/vendorExtensions.x-auth-attributes.x-oauth}}
189+
{{/if}}
190+
return await self._version.delete_async(method='{{vendorExtensions.x-http-method}}', uri=self._uri,{{#if allParams}} headers=headers{{/if}}{{^allParams}}{{#vendorExtensions.x-auth-attributes.x-oauth}} headers=headers{{/vendorExtensions.x-auth-attributes.x-oauth}}{{/allParams}})
161191
{{/vendorExtensions.x-is-delete-operation}}{{#vendorExtensions.x-is-create-operation}}
162192
def {{vendorExtensions.x-name-lower}}(self{{#allParams}}, {{paramName}}: {{#if required}}{{{dataType}}}{{else}}Union[{{{dataType}}}, object]=values.unset{{/if}}{{/allParams}}) -> {{instanceName}}:
163193
"""
@@ -176,7 +206,7 @@ class {{apiName}}Context(InstanceContext):
176206
headers = {'Authorization': 'Bearer ' + auth_token}
177207
{{/vendorExtensions.x-auth-attributes.x-oauth}}
178208

179-
payload = self._version.create(method='{{vendorExtensions.x-http-method}}', uri=self._uri, data=data)
209+
payload = self._version.create(method='{{vendorExtensions.x-http-method}}', uri=self._uri, data=data{{#vendorExtensions.x-auth-attributes.x-oauth}}, headers=headers{{/vendorExtensions.x-auth-attributes.x-oauth}})
180210

181211
return {{instanceName}}(
182212
self._version,
@@ -198,10 +228,10 @@ class {{apiName}}Context(InstanceContext):
198228
{{#vendorExtensions.x-auth-attributes.x-oauth}}
199229
orgs_token_manager = TokenManager().get_token_manager(self._version)
200230
auth_token = BearerTokenHTTPClient(orgs_token_manager).get_headers(self._version)
201-
headers['Authorization'] = 'Bearer ' + auth_token
231+
headers = {'Authorization': 'Bearer ' + auth_token}
202232
{{/vendorExtensions.x-auth-attributes.x-oauth}}
203233

204-
payload = await self._version.create_async(method='{{vendorExtensions.x-http-method}}', uri=self._uri, data=data)
234+
payload = await self._version.create_async(method='{{vendorExtensions.x-http-method}}', uri=self._uri, data=data{{#vendorExtensions.x-auth-attributes.x-oauth}}, headers=headers{{/vendorExtensions.x-auth-attributes.x-oauth}})
205235

206236
return {{instanceName}}(
207237
self._version,

src/main/resources/twilio-python/version.mustache

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,6 @@
22
from typing import Optional
33
from twilio.base.version import Version
44
from twilio.base.domain import Domain
5-
{{#operations}}{{#vendorExtensions.x-auth-attributes.x-oauth}}
6-
from twilio.http.bearer_token_http_client import BearerTokenHTTPClient
7-
from twilio.http.token_manager import TokenManager
8-
{{/vendorExtensions.x-auth-attributes.x-oauth}}{{/operations}}
95
{{#versionResources}}from twilio.rest.{{domainPackage}}.{{apiVersion}}.{{filename}} import {{listName}}
106
{{/versionResources}}
117

0 commit comments

Comments
 (0)