@@ -81,6 +81,7 @@ def get_fields(
81
81
to_name : str = "TO_ID" ,
82
82
line : bool = False ,
83
83
extra_info : list = [],
84
+ two_layers : bool = False ,
84
85
) -> QgsFields :
85
86
"""
86
87
Builds output fields for directions response layer.
@@ -114,6 +115,8 @@ def get_fields(
114
115
fields .append (QgsField (from_name , from_type ))
115
116
if not line :
116
117
fields .append (QgsField (to_name , to_type ))
118
+ if two_layers :
119
+ fields .append (QgsField (from_name , from_type ))
117
120
for info in extra_info :
118
121
field_type = QVariant .Int
119
122
if info in ["waytype" , "surface" , "waycategory" , "roadaccessrestrictions" , "steepness" ]:
@@ -260,15 +263,16 @@ def build_default_parameters(
260
263
return params
261
264
262
265
263
- def get_extra_info_features_directions (response : dict , extra_info_order : list [str ]):
266
+ def get_extra_info_features_directions (
267
+ response : dict , extra_info_order : list [str ], to_from_values : list
268
+ ):
264
269
extra_info_order = [
265
270
key if key != "waytype" else "waytypes" for key in extra_info_order
266
271
] # inconsistency in API
267
272
response_mini = response ["features" ][0 ]
268
273
coordinates = response_mini ["geometry" ]["coordinates" ]
269
274
feats = list ()
270
275
extra_info = response_mini ["properties" ]["extras" ]
271
- logger .log (str (extra_info ))
272
276
extras_list = {i : [] for i in extra_info_order }
273
277
for key in extra_info_order :
274
278
try :
@@ -290,7 +294,7 @@ def get_extra_info_features_directions(response: dict, extra_info_order: list[st
290
294
extra = extras_list [j ]
291
295
attr = extra [i ]
292
296
attrs .append (attr )
293
- feat .setAttributes (attrs )
297
+ feat .setAttributes ([ to_from_values [ 0 ], to_from_values [ 1 ]] + attrs )
294
298
feats .append (feat )
295
299
296
300
return feats
0 commit comments