@@ -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