Skip to content

Commit 7675147

Browse files
committed
revert a change which broke route templates that had tokens that weren't full segments
1 parent c4f64dc commit 7675147

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

azure-devops/azure/devops/client.py

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -124,23 +124,26 @@ def _create_request_message(self, http_method, location_id, route_values=None,
124124
route_values = {}
125125
route_values['area'] = location.area
126126
route_values['resource'] = location.resource_name
127-
url = self._transform_route_template(location.route_template, route_values)
127+
route_template = self._remove_optional_route_parameters(location.route_template,
128+
route_values)
128129
logger.debug('Route template: %s', location.route_template)
130+
url = self._client.format_url(route_template, **route_values)
131+
import pprint
132+
pprint.pprint("url=" + url)
129133
request = ClientRequest(method=http_method, url=self._client.format_url(url))
130134
if query_parameters:
131135
request.format_parameters(query_parameters)
132136
return request
133137

134138
@staticmethod
135-
def _transform_route_template(route_template, route_values):
139+
def _remove_optional_route_parameters(route_template, route_values):
136140
new_template = ''
137141
route_template = route_template.replace('{*', '{')
138142
for path_segment in route_template.split('/'):
139143
if (len(path_segment) <= 2 or not path_segment[0] == '{'
140-
or not path_segment[len(path_segment) - 1] == '}'):
144+
or not path_segment[len(path_segment) - 1] == '}'
145+
or path_segment[1:len(path_segment) - 1] in route_values):
141146
new_template = new_template + '/' + path_segment
142-
elif path_segment[1:len(path_segment) - 1] in route_values:
143-
new_template = new_template + '/' + route_values[path_segment[1:len(path_segment) - 1]]
144147
return new_template
145148

146149
def _get_resource_location(self, location_id):

0 commit comments

Comments
 (0)