]> ToastFreeware Gitweb - philipp/winterrodeln/wrpylib.git/commitdiff
Fine-tune parsing of 'Tiroler Naturrodelbahn Gütesiegel'.
authorPhilipp Spitzer <philipp@spitzer.priv.at>
Sun, 12 Jun 2022 14:28:14 +0000 (16:28 +0200)
committerPhilipp Spitzer <philipp@spitzer.priv.at>
Sun, 12 Jun 2022 14:28:14 +0000 (16:28 +0200)
bots/update_sledrun_json_from_wikitext_gütesiegel.py

index d9094b8fbb2b505fd73223f6748b8a2415d53a88..3f7b5ce21b7a9dbe4795ee5876f20681e01618cc 100644 (file)
@@ -69,6 +69,7 @@ class UpdateSledrunJsonFromWikiText(
         if not sledrun_json_page.exists():
             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)
 
         def _tiroler_naturrodelbahn_guetesiegel(wikicode) -> Optional[dict]:
@@ -102,7 +103,7 @@ class UpdateSledrunJsonFromWikiText(
 
         sledrun_json['tiroler_naturrodelbahn_gütesiegel'] = gsj
 
-        description_code = mwparserfromhell.parse(sledrun_json['description'])
+        description_code = mwparserfromhell.parse(sledrun_json.get('description', ''))
         for t in description_code.filter_templates():
             # remove template from text
             description_code.remove(t)
@@ -114,6 +115,8 @@ class UpdateSledrunJsonFromWikiText(
         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)
+        if sledrun_json == sledrun_json_orig:
+            return
         summary = 'Gütesiegel im Rodelbahn JSON aktualisiert vom Wikitext.'
         self.userPut(sledrun_json_page, sledrun_json_orig_text, sledrun_json_text, summary=summary, contentmodel='json')