@@ -124,23 +124,26 @@ def _create_request_message(self, http_method, location_id, route_values=None,
124
124
route_values = {}
125
125
route_values ['area' ] = location .area
126
126
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 )
128
129
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 )
129
133
request = ClientRequest (method = http_method , url = self ._client .format_url (url ))
130
134
if query_parameters :
131
135
request .format_parameters (query_parameters )
132
136
return request
133
137
134
138
@staticmethod
135
- def _transform_route_template (route_template , route_values ):
139
+ def _remove_optional_route_parameters (route_template , route_values ):
136
140
new_template = ''
137
141
route_template = route_template .replace ('{*' , '{' )
138
142
for path_segment in route_template .split ('/' ):
139
143
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 ):
141
146
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 ]]
144
147
return new_template
145
148
146
149
def _get_resource_location (self , location_id ):
0 commit comments