"""This module contains winterrodeln specific functions that are processing the MediaWiki markup.
"""
import re
-import subprocess
import xml.etree.ElementTree
import collections
from typing import Tuple, Optional, List, OrderedDict, Union, Dict
import wrpylib.wrvalidators
import wrpylib.mwmarkup
import wrpylib.wrmwdb
+from wrpylib.lib_sledrun_wikitext_from_json import strip_eol
from wrpylib.wrvalidators import LonLat, opt_lonlat_from_str, opt_lonlat_to_str, opt_uint_from_str, opt_uint_to_str, \
opt_str_opt_comment_enum_to_str, lift_german_to_str, webauskunft_to_str, cachet_german_to_str, \
opt_phone_comment_enum_to_str, lift_german_from_str, GASTHAUSBOX_DICT, opt_difficulty_german_from_str, \
last_json_feature.tail = '\n\n'
feature_xml.text = '\n' + create_wrmap_coordinates(geo['coordinates']) + '\n'
last_json_feature = feature_xml
- feature_xml.attrib = json_feature['properties']
+ feature_xml.attrib = json_feature['properties'].copy()
del feature_xml.attrib['type']
if last_json_feature is not None:
autoescape=jinja2.select_autoescape(),
)
env.filters["german_bool"] = german_bool
- template = env.get_template("sledrun_wiki.txt")
+ template = env.get_template("sledrun_wikitext.txt")
def position_to_lon_lat(value: Optional[dict]) -> Optional[LonLat]:
if value is not None:
ws = sledrun_json.get('walkup_supports')
if ws is None:
return None
- return [(w['type'], w.get('comment')) for w in ws]
+ return [(w['type'], w.get('note')) for w in ws]
def rodelverleih() -> Optional[List[Tuple[str, Optional[str]]]]:
v = sledrun_json.get('sled_rental')
w = []
for x in v:
n = x.get('name')
- c = x.get('comment')
+ c = x.get('note')
p = x.get('wr_page')
if p is not None:
n = Jinja2Tools().json_wr_page(p)
('Gehzeit', sledrun_json.get('walkup_time')),
('Aufstiegshilfe', aufstiegshilfe()),
('Beleuchtungsanlage', (opt_tristate_german_from_str(sledrun_json.get('nightlight_possible', '')),
- sledrun_json.get('nightlight_possible_comment'))),
+ sledrun_json.get('nightlight_possible_note'))),
('Beleuchtungstage', (sledrun_json.get('nightlight_weekdays_count'),
- sledrun_json.get('nightlight_weekdays_comment'))),
+ sledrun_json.get('nightlight_weekdays_note'))),
('Rodelverleih', rodelverleih()),
('Gütesiegel', cachet()),
('Webauskunft', webauskunft()),
rodelbahnbox = rodelbahnbox_to_str(sledrun_rbb_json)
- return template.render(sledrun_json=sledrun_json,
+ text = template.render(sledrun_json=sledrun_json,
rodelbahnbox=rodelbahnbox,
map_json=map_json, impressions_title=impressions_title,
h=Jinja2Tools(), **sledrun_json)
+ return strip_eol(text)