From: Philipp Spitzer Date: Tue, 30 Aug 2022 19:19:56 +0000 (+0200) Subject: Make use of new function format_json(). X-Git-Url: https://git.toastfreeware.priv.at/philipp/winterrodeln/wrpylib.git/commitdiff_plain/3e90f9e9ef99e5e9c14cf9efaa39c10d32183963 Make use of new function format_json(). --- diff --git a/bots/sledrun_json_edit.py b/bots/sledrun_json_edit.py index e98d8f5..07e8872 100644 --- a/bots/sledrun_json_edit.py +++ b/bots/sledrun_json_edit.py @@ -23,7 +23,7 @@ from pywikibot.bot import ( SingleSiteBot, ) -from wrpylib.json_tools import order_json_keys +from wrpylib.json_tools import order_json_keys, format_json from wrpylib.wrmwmarkup import create_sledrun_wiki docuReplacements = {'¶ms;': pagegenerators.parameterHelp} @@ -60,7 +60,7 @@ class SledrunFromJsonBot( sledrun_json = json.loads(sledrun_json_page.text) sledrun_json_orig = json.loads(sledrun_json_page.text) - sledrun_json_orig_text = json.dumps(sledrun_json_orig, ensure_ascii=False, indent=4) + sledrun_json_orig_text = format_json(sledrun_json_orig) # *here*, sledrun_json can be processed @@ -69,7 +69,7 @@ class SledrunFromJsonBot( assert sledrun_json_ordered == sledrun_json if sledrun_json == sledrun_json_orig: return - sledrun_json_text = json.dumps(sledrun_json_ordered, ensure_ascii=False, indent=4) + sledrun_json_text = format_json(sledrun_json_ordered) summary = 'JSON Daten aktualisiert.' self.userPut(sledrun_json_page, sledrun_json_orig_text, sledrun_json_text, summary=summary, contentmodel='json') diff --git a/bots/sledrun_json_edit_nightlight_and_sled_rental.py b/bots/sledrun_json_edit_nightlight_and_sled_rental.py index d808d7a..999d160 100644 --- a/bots/sledrun_json_edit_nightlight_and_sled_rental.py +++ b/bots/sledrun_json_edit_nightlight_and_sled_rental.py @@ -23,7 +23,7 @@ from pywikibot.bot import ( SingleSiteBot, ) -from wrpylib.json_tools import order_json_keys +from wrpylib.json_tools import order_json_keys, format_json from wrpylib.wrmwmarkup import create_sledrun_wiki @@ -61,7 +61,7 @@ class SledrunFromJsonBot( sledrun_json = json.loads(sledrun_json_page.text) sledrun_json_orig = json.loads(sledrun_json_page.text) - sledrun_json_orig_text = json.dumps(sledrun_json_orig, ensure_ascii=False, indent=4) + sledrun_json_orig_text = format_json(sledrun_json_orig) sled_rental_description = sledrun_json.get('sled_rental_description') if sled_rental_description is not None and len(sled_rental_description) < 8 and ( @@ -82,7 +82,7 @@ class SledrunFromJsonBot( assert sledrun_json_ordered == sledrun_json if sledrun_json == sledrun_json_orig: return - sledrun_json_text = json.dumps(sledrun_json_ordered, ensure_ascii=False, indent=4) + sledrun_json_text = format_json(sledrun_json_ordered) summary = 'JSON Daten aktualisiert.' self.userPut(sledrun_json_page, sledrun_json_orig_text, sledrun_json_text, summary=summary, contentmodel='json') diff --git a/bots/sledrun_json_validate.py b/bots/sledrun_json_validate.py index 458c89f..8de9ffb 100644 --- a/bots/sledrun_json_validate.py +++ b/bots/sledrun_json_validate.py @@ -23,7 +23,7 @@ from pywikibot.bot import ( SingleSiteBot, ) -from wrpylib.json_tools import order_json_keys +from wrpylib.json_tools import order_json_keys, format_json docuReplacements = {'¶ms;': pagegenerators.parameterHelp} @@ -46,13 +46,13 @@ class SledrunFromJsonBot( if not sledrun_json_page.exists(): return content_json = json.loads(sledrun_json_page.text) - text_orig = json.dumps(content_json, ensure_ascii=False, indent=4) + text_orig = format_json(content_json) try: validate(instance=content_json, schema=self.sledrun_schema) content_json_ordered = order_json_keys(content_json, self.sledrun_schema) assert content_json_ordered == content_json - text = json.dumps(content_json_ordered, ensure_ascii=False, indent=4) + text = format_json(content_json_ordered) except jsonschema.exceptions.ValidationError as e: text = str(e) diff --git a/bots/sledrun_wikitext_to_json.py b/bots/sledrun_wikitext_to_json.py index 81c2a9b..c73385c 100644 --- a/bots/sledrun_wikitext_to_json.py +++ b/bots/sledrun_wikitext_to_json.py @@ -32,7 +32,7 @@ from pywikibot.bot import ( ) from pywikibot.logging import warning from pywikibot.site._namespace import BuiltinNamespace -from wrpylib.json_tools import order_json_keys +from wrpylib.json_tools import order_json_keys, format_json from wrpylib.wrmwmarkup import create_sledrun_wiki, lonlat_to_json, lonlat_ele_to_json, parse_wrmap from wrpylib.wrvalidators import rodelbahnbox_from_template, tristate_german_to_str, difficulty_german_to_str, \ @@ -448,7 +448,7 @@ class SledrunWikiTextToJsonBot( jsonschema.validate(instance=sledrun_json, schema=self.sledrun_schema) sledrun_json_ordered = order_json_keys(sledrun_json, self.sledrun_schema) assert sledrun_json_ordered == sledrun_json - sledrun_json_text = json.dumps(sledrun_json_ordered, ensure_ascii=False, indent=4) + sledrun_json_text = format_json(sledrun_json_ordered) if not sledrun_json_page.exists(): summary = 'Rodelbahnbeschreibung konvertiert von Wikitext nach JSON.' pywikibot.output('\03{lightpurple}---\03{default}') @@ -457,7 +457,7 @@ class SledrunWikiTextToJsonBot( self.userPut(sledrun_json_page, sledrun_json_page.text, sledrun_json_text, summary=summary, contentmodel='json') if map_json is not None and not map_json_page.exists(): - map_json_text = json.dumps(map_json, ensure_ascii=False, indent=4) + map_json_text = format_json(map_json) summary = 'Landkarte konvertiert von Wikitext nach JSON.' self.userPut(map_json_page, map_json_page.text, map_json_text, summary=summary, contentmodel='json') diff --git a/bots/update_sledrun_json_from_wikitext_car_distances.py b/bots/update_sledrun_json_from_wikitext_car_distances.py index 20f323e..aaf0ed2 100644 --- a/bots/update_sledrun_json_from_wikitext_car_distances.py +++ b/bots/update_sledrun_json_from_wikitext_car_distances.py @@ -32,7 +32,7 @@ from pywikibot.bot import ( ) from pywikibot.logging import warning from pywikibot.site._namespace import BuiltinNamespace -from wrpylib.json_tools import order_json_keys +from wrpylib.json_tools import order_json_keys, format_json from wrpylib.wrmwmarkup import create_sledrun_wiki, lonlat_to_json, lonlat_ele_to_json, parse_wrmap from wrpylib.wrvalidators import rodelbahnbox_from_template, tristate_german_to_str, difficulty_german_to_str, \ @@ -67,7 +67,7 @@ class UpdateSledrunJsonFromWikiText( return sledrun_json = json.loads(sledrun_json_page.text) sledrun_json_orig = json.loads(sledrun_json_page.text) - sledrun_json_orig_text = json.dumps(sledrun_json_orig, ensure_ascii=False, indent=4) + sledrun_json_orig_text = format_json(sledrun_json_orig) car_distances = [] for line in self.current_page.text.split('\n'): @@ -96,7 +96,7 @@ class UpdateSledrunJsonFromWikiText( assert sledrun_json_ordered == sledrun_json if sledrun_json == sledrun_json_orig: return - sledrun_json_text = json.dumps(sledrun_json_ordered, ensure_ascii=False, indent=4) + sledrun_json_text = format_json(sledrun_json_ordered) summary = 'Entfernung mit dem Auto im Rodelbahn JSON aktualisiert vom Wikitext.' self.userPut(sledrun_json_page, sledrun_json_orig_text, sledrun_json_text, summary=summary, contentmodel='json') diff --git a/bots/update_sledrun_json_from_wikitext_correction.py b/bots/update_sledrun_json_from_wikitext_correction.py index 01311a3..3bd9c3b 100644 --- a/bots/update_sledrun_json_from_wikitext_correction.py +++ b/bots/update_sledrun_json_from_wikitext_correction.py @@ -32,7 +32,7 @@ from pywikibot.bot import ( ) from pywikibot.logging import warning from pywikibot.site._namespace import BuiltinNamespace -from wrpylib.json_tools import order_json_keys +from wrpylib.json_tools import order_json_keys, format_json from wrpylib.wrmwmarkup import create_sledrun_wiki, lonlat_to_json, lonlat_ele_to_json, parse_wrmap from wrpylib.wrvalidators import rodelbahnbox_from_template, tristate_german_to_str, difficulty_german_to_str, \ @@ -70,7 +70,7 @@ class UpdateSledrunJsonFromWikiText( return sledrun_json = json.loads(sledrun_json_page.text) sledrun_json_orig = json.loads(sledrun_json_page.text) - sledrun_json_orig_text = json.dumps(sledrun_json_orig, ensure_ascii=False, indent=4) + sledrun_json_orig_text = format_json(sledrun_json_orig) def _button_bar(): bb_iter = wikicode.ifilter_templates(recursive=False, matches=lambda t: t.name.strip() == 'Buttonleiste') @@ -96,7 +96,7 @@ class UpdateSledrunJsonFromWikiText( assert sledrun_json_ordered == sledrun_json if sledrun_json == sledrun_json_orig: return - sledrun_json_text = json.dumps(sledrun_json_ordered, ensure_ascii=False, indent=4) + sledrun_json_text = format_json(sledrun_json_ordered) summary = 'Korrektur-Kontakt Information im Rodelbahn JSON aktualisiert vom Wikitext.' self.userPut(sledrun_json_page, sledrun_json_orig_text, sledrun_json_text, summary=summary, contentmodel='json') diff --git a/bots/update_sledrun_json_from_wikitext_gastronomy.py b/bots/update_sledrun_json_from_wikitext_gastronomy.py index 3d23b8a..42fffa7 100644 --- a/bots/update_sledrun_json_from_wikitext_gastronomy.py +++ b/bots/update_sledrun_json_from_wikitext_gastronomy.py @@ -32,7 +32,7 @@ from pywikibot.bot import ( ) from pywikibot.logging import warning from pywikibot.site._namespace import BuiltinNamespace -from wrpylib.json_tools import order_json_keys +from wrpylib.json_tools import order_json_keys, format_json from wrpylib.wrmwmarkup import create_sledrun_wiki, lonlat_to_json, lonlat_ele_to_json, parse_wrmap from wrpylib.wrvalidators import rodelbahnbox_from_template, tristate_german_to_str, difficulty_german_to_str, \ @@ -71,7 +71,7 @@ class UpdateSledrunJsonFromWikiText( return sledrun_json = json.loads(sledrun_json_page.text) sledrun_json_orig = json.loads(sledrun_json_page.text) - sledrun_json_orig_text = json.dumps(sledrun_json_orig, ensure_ascii=False, indent=4) + sledrun_json_orig_text = format_json(sledrun_json_orig) for v in wikicode.get_sections(levels=[2], matches='Allgemeines'): def _gastronomy(value: str): @@ -127,7 +127,7 @@ class UpdateSledrunJsonFromWikiText( assert sledrun_json_ordered == sledrun_json if sledrun_json == sledrun_json_orig: return - sledrun_json_text = json.dumps(sledrun_json_ordered, ensure_ascii=False, indent=4) + sledrun_json_text = format_json(sledrun_json_ordered) summary = 'Gastronomie Information im Rodelbahn JSON aktualisiert vom Wikitext.' self.userPut(sledrun_json_page, sledrun_json_orig_text, sledrun_json_text, summary=summary, contentmodel='json') diff --git "a/bots/update_sledrun_json_from_wikitext_g\303\274tesiegel.py" "b/bots/update_sledrun_json_from_wikitext_g\303\274tesiegel.py" index 3f7b5ce..de0831e 100644 --- "a/bots/update_sledrun_json_from_wikitext_g\303\274tesiegel.py" +++ "b/bots/update_sledrun_json_from_wikitext_g\303\274tesiegel.py" @@ -32,7 +32,7 @@ from pywikibot.bot import ( ) from pywikibot.logging import warning from pywikibot.site._namespace import BuiltinNamespace -from wrpylib.json_tools import order_json_keys +from wrpylib.json_tools import order_json_keys, format_json from wrpylib.wrmwmarkup import create_sledrun_wiki, lonlat_to_json, lonlat_ele_to_json, parse_wrmap from wrpylib.wrvalidators import rodelbahnbox_from_template, tristate_german_to_str, difficulty_german_to_str, \ @@ -70,7 +70,7 @@ class UpdateSledrunJsonFromWikiText( return sledrun_json = json.loads(sledrun_json_page.text) sledrun_json_orig = json.loads(sledrun_json_page.text) - sledrun_json_orig_text = json.dumps(sledrun_json, ensure_ascii=False, indent=4) + sledrun_json_orig_text = format_json(sledrun_json) def _tiroler_naturrodelbahn_guetesiegel(wikicode) -> Optional[dict]: for gst in wikicode.filter_templates(): @@ -114,7 +114,7 @@ class UpdateSledrunJsonFromWikiText( jsonschema.validate(instance=sledrun_json, schema=self.sledrun_schema) sledrun_json_ordered = order_json_keys(sledrun_json, self.sledrun_schema) assert sledrun_json_ordered == sledrun_json - sledrun_json_text = json.dumps(sledrun_json_ordered, ensure_ascii=False, indent=4) + sledrun_json_text = format_json(sledrun_json_ordered) if sledrun_json == sledrun_json_orig: return summary = 'Gütesiegel im Rodelbahn JSON aktualisiert vom Wikitext.' diff --git a/bots/update_sledrun_json_from_wikitext_see_also.py b/bots/update_sledrun_json_from_wikitext_see_also.py index c09e6a8..2d18f29 100644 --- a/bots/update_sledrun_json_from_wikitext_see_also.py +++ b/bots/update_sledrun_json_from_wikitext_see_also.py @@ -33,7 +33,7 @@ from pywikibot.bot import ( ) from pywikibot.logging import warning from pywikibot.site._namespace import BuiltinNamespace -from wrpylib.json_tools import order_json_keys +from wrpylib.json_tools import order_json_keys, format_json from wrpylib.wrmwmarkup import create_sledrun_wiki, lonlat_to_json, lonlat_ele_to_json, parse_wrmap from wrpylib.wrvalidators import rodelbahnbox_from_template, tristate_german_to_str, difficulty_german_to_str, \ @@ -72,7 +72,7 @@ class UpdateSledrunJsonFromWikiText( return sledrun_json = json.loads(sledrun_json_page.text) sledrun_json_orig = json.loads(sledrun_json_page.text) - sledrun_json_orig_text = json.dumps(sledrun_json_orig, ensure_ascii=False, indent=4) + sledrun_json_orig_text = format_json(sledrun_json_orig) def _strip_brackets(text: str) -> str: """Removes brackets if they are present""" @@ -122,7 +122,7 @@ class UpdateSledrunJsonFromWikiText( assert sledrun_json_ordered == sledrun_json if sledrun_json == sledrun_json_orig: return - sledrun_json_text = json.dumps(sledrun_json_ordered, ensure_ascii=False, indent=4) + sledrun_json_text = format_json(sledrun_json_ordered) summary = 'Information zu "Siehe auch" im Rodelbahn JSON aktualisiert vom Wikitext.' self.userPut(sledrun_json_page, sledrun_json_orig_text, sledrun_json_text, summary=summary, contentmodel='json') diff --git a/bots/update_sledrun_json_from_wikitext_sledrun_list.py b/bots/update_sledrun_json_from_wikitext_sledrun_list.py index eb9e65b..971d602 100644 --- a/bots/update_sledrun_json_from_wikitext_sledrun_list.py +++ b/bots/update_sledrun_json_from_wikitext_sledrun_list.py @@ -32,7 +32,7 @@ from pywikibot.bot import ( ) from pywikibot.logging import warning from pywikibot.site._namespace import BuiltinNamespace -from wrpylib.json_tools import order_json_keys +from wrpylib.json_tools import order_json_keys, format_json from wrpylib.wrmwmarkup import create_sledrun_wiki, lonlat_to_json, lonlat_ele_to_json, parse_wrmap from wrpylib.wrvalidators import rodelbahnbox_from_template, tristate_german_to_str, difficulty_german_to_str, \ @@ -71,7 +71,7 @@ class UpdateSledrunJsonFromWikiText( return sledrun_json = json.loads(sledrun_json_page.text) sledrun_json_orig = json.loads(sledrun_json_page.text) - sledrun_json_orig_text = json.dumps(sledrun_json_orig, ensure_ascii=False, indent=4) + sledrun_json_orig_text = format_json(sledrun_json_orig) for v in wikicode.get_sections(levels=[2], matches='Allgemeines'): def _sledrun_list(value: str): @@ -105,7 +105,7 @@ class UpdateSledrunJsonFromWikiText( assert sledrun_json_ordered == sledrun_json if sledrun_json == sledrun_json_orig: return - sledrun_json_text = json.dumps(sledrun_json_ordered, ensure_ascii=False, indent=4) + sledrun_json_text = format_json(sledrun_json_ordered) summary = 'Information zu "Anderen Rodelbahnen" im Rodelbahn JSON aktualisiert vom Wikitext.' self.userPut(sledrun_json_page, sledrun_json_orig_text, sledrun_json_text, summary=summary, contentmodel='json') diff --git a/bots/update_sledrun_json_from_wikitext_walkup_time_note.py b/bots/update_sledrun_json_from_wikitext_walkup_time_note.py index 8d38ae9..34c3a0d 100644 --- a/bots/update_sledrun_json_from_wikitext_walkup_time_note.py +++ b/bots/update_sledrun_json_from_wikitext_walkup_time_note.py @@ -32,7 +32,7 @@ from pywikibot.bot import ( ) from pywikibot.logging import warning from pywikibot.site._namespace import BuiltinNamespace -from wrpylib.json_tools import order_json_keys +from wrpylib.json_tools import order_json_keys, format_json from wrpylib.wrmwmarkup import create_sledrun_wiki, lonlat_to_json, lonlat_ele_to_json, parse_wrmap from wrpylib.wrvalidators import rodelbahnbox_from_template, tristate_german_to_str, difficulty_german_to_str, \ @@ -68,7 +68,7 @@ class UpdateSledrunJsonFromWikiText( return sledrun_json = json.loads(sledrun_json_page.text) sledrun_json_orig = json.loads(sledrun_json_page.text) - sledrun_json_orig_text = json.dumps(sledrun_json_orig, ensure_ascii=False, indent=4) + sledrun_json_orig_text = format_json(sledrun_json_orig) for line in self.current_page.text.split('\n'): match = re.match(r'\* \{\{Gehzeit}}(.*)', line) @@ -86,7 +86,7 @@ class UpdateSledrunJsonFromWikiText( assert sledrun_json_ordered == sledrun_json if sledrun_json == sledrun_json_orig: return - sledrun_json_text = json.dumps(sledrun_json_ordered, ensure_ascii=False, indent=4) + sledrun_json_text = format_json(sledrun_json_ordered) summary = 'Gehzeit-Kommentar im Rodelbahn JSON aktualisiert vom Wikitext.' self.userPut(sledrun_json_page, sledrun_json_orig_text, sledrun_json_text, summary=summary, contentmodel='json') diff --git a/bots/update_sledrun_json_from_wikitext_webcam.py b/bots/update_sledrun_json_from_wikitext_webcam.py index 90a11e2..be92e3e 100644 --- a/bots/update_sledrun_json_from_wikitext_webcam.py +++ b/bots/update_sledrun_json_from_wikitext_webcam.py @@ -32,7 +32,7 @@ from pywikibot.bot import ( ) from pywikibot.logging import warning from pywikibot.site._namespace import BuiltinNamespace -from wrpylib.json_tools import order_json_keys +from wrpylib.json_tools import order_json_keys, format_json from wrpylib.wrmwmarkup import create_sledrun_wiki, lonlat_to_json, lonlat_ele_to_json, parse_wrmap from wrpylib.wrvalidators import rodelbahnbox_from_template, tristate_german_to_str, difficulty_german_to_str, \ @@ -70,7 +70,7 @@ class UpdateSledrunJsonFromWikiText( return sledrun_json = json.loads(sledrun_json_page.text) sledrun_json_orig = json.loads(sledrun_json_page.text) - sledrun_json_orig_text = json.dumps(sledrun_json_orig, ensure_ascii=False, indent=4) + sledrun_json_orig_text = format_json(sledrun_json_orig) def _button_bar(): bb_iter = wikicode.ifilter_templates(recursive=False, matches=lambda t: t.name.strip() == 'Buttonleiste') @@ -90,7 +90,7 @@ class UpdateSledrunJsonFromWikiText( assert sledrun_json_ordered == sledrun_json if sledrun_json == sledrun_json_orig: return - sledrun_json_text = json.dumps(sledrun_json_ordered, ensure_ascii=False, indent=4) + sledrun_json_text = format_json(sledrun_json_ordered) summary = 'Webcam Information im Rodelbahn JSON aktualisiert vom Wikitext.' self.userPut(sledrun_json_page, sledrun_json_orig_text, sledrun_json_text, summary=summary, contentmodel='json') diff --git a/scripts/osm_to_wrgeojson.py b/scripts/osm_to_wrgeojson.py index 5d8dcb5..c3fa3b5 100644 --- a/scripts/osm_to_wrgeojson.py +++ b/scripts/osm_to_wrgeojson.py @@ -5,6 +5,7 @@ from typing import Optional from xml.etree.ElementTree import ElementTree from wrpylib.argparse_tools import bool_type +from wrpylib.json_tools import format_json from wrpylib.wrgeojson import join_wrgeojson_ways, simplify_ways from wrpylib.wrosm import find_sledrun_relations, tags, convert_osm_to_geojson, DeRefError @@ -49,7 +50,7 @@ def process_osm_file(filename: str, single: Optional[int], join_ways: bool, simp simplify_ways(sledrun_geojson) # Print result - print(json.dumps(sledrun_geojson, ensure_ascii=False, indent=4)) + print(format_json(sledrun_geojson)) print() diff --git a/scripts/update_guetesiegel_from_official_list.py b/scripts/update_guetesiegel_from_official_list.py index e42dcc0..df415f9 100644 --- a/scripts/update_guetesiegel_from_official_list.py +++ b/scripts/update_guetesiegel_from_official_list.py @@ -62,6 +62,8 @@ from requests import Session from shapely.geometry import shape from sqlalchemy import create_engine, text +from wrpylib.json_tools import format_json + def update_sledrun(connection: sqlalchemy.engine.Connection, api_url: str, session: Session, csrf_token: str, shp_crs: Union[dict, str], lon_lat_crs: Union[dict, str], feature: dict): @@ -127,7 +129,7 @@ def update_sledrun(connection: sqlalchemy.engine.Connection, api_url: str, sessi print(f"{properties['STAETTE_NA']} has a different ID") return gs['stätte_id'] = properties['STAETTE_ID'] - new_sledrun_json = json.dumps(sledrun_json, ensure_ascii=False, indent=4) + new_sledrun_json = format_json(sledrun_json) post_data = { 'action': 'edit', 'pageid': row.sledrun_json_page_id, diff --git a/scripts/update_links_almenrausch.py b/scripts/update_links_almenrausch.py index 8d8e624..64248ad 100644 --- a/scripts/update_links_almenrausch.py +++ b/scripts/update_links_almenrausch.py @@ -10,7 +10,7 @@ from typing import List import jsonschema from pywikiapi import Site # https://github.com/nyurik/pywikiapi -from wrpylib.json_tools import order_json_keys +from wrpylib.json_tools import order_json_keys, format_json def query_page(site: Site, title: str) -> dict: @@ -39,7 +39,7 @@ def update_sledrun(site: Site, schema: dict, title: str, almenrausch_url: str): jsonschema.validate(instance=sledrun_json, schema=schema) sledrun_json_ordered = order_json_keys(sledrun_json, schema) assert sledrun_json_ordered == sledrun_json - sledrun_json_str = json.dumps(sledrun_json_ordered, ensure_ascii=False, indent=4) + sledrun_json_str = format_json(sledrun_json_ordered) site( 'edit',