+from typing import List
from urllib.parse import quote_plus
from flask import url_for, current_app
import wrpylib.wrvalidators
+from wrpylib.mwmarkup import create_template
+from wrpylib.wrvalidators import LonLat, lonlat_to_str
class PylonsHelper:
def public_transport(self, value):
return wrpylib.wrvalidators.opt_public_transport_german_to_str(value)
+
+ def json_position(self, value: dict) -> str:
+ lon_lat = LonLat(value['longitude'], value['latitude'])
+ return lonlat_to_str(lon_lat)
+
+ def json_pos_ele_position(self, value: dict) -> str:
+ pos = value.get('position')
+ if pos is None:
+ return ''
+ return self.json_position(pos)
+
+ def json_pos_ele_elevation(self, value: dict) -> str:
+ return value.get('elevation', '')
+
+ def list_template(self, name: str, value: List[str]) -> str:
+ return str(create_template(name, value))
+
+ def json_template(self, value) -> str:
+ args = []
+ kwargs = {}
+ for p in value.get('parameter', []):
+ v = p.get('value', '')
+ if 'key' in p:
+ kwargs[p['key']] = v
+ else:
+ args.append(v)
+ return str(create_template(value['name'], args, kwargs))