]> ToastFreeware Gitweb - philipp/winterrodeln/wrpylib.git/blobdiff - bots/sledrun_from_json.py
Optimize imports.
[philipp/winterrodeln/wrpylib.git] / bots / sledrun_from_json.py
index cf34ab15000f2100990374d2de8a449d44ef9df3..73367bde8c5605378a0c7cc1739d4b4192885435 100644 (file)
@@ -21,6 +21,7 @@ from pywikibot.bot import (
     NoRedirectPageBot,
     SingleSiteBot,
 )
+from pywikibot.logging import warning
 
 from wrpylib.wrmwmarkup import create_sledrun_wiki
 
@@ -38,7 +39,11 @@ class SledrunFromJsonBot(
     def treat_page(self) -> None:
         """Load the given page, do some changes, and save it."""
         sledrun_json_page = Page(self.site, self.current_page.title() + '/Rodelbahn.json')
-        if not sledrun_json_page.exists() or sledrun_json_page.content_model != 'json':
+        if not sledrun_json_page.exists():
+            warning(f"{sledrun_json_page.title()} does not exist. Skipping.")
+            return
+        if sledrun_json_page.content_model != 'json':
+            warning(f"Content model of {sledrun_json_page.title()} is not 'json'.")
             return
         sledrun_json = json.loads(sledrun_json_page.text)
         map_json_page = Page(self.site, self.current_page.title() + '/Landkarte.json')
@@ -46,7 +51,11 @@ class SledrunFromJsonBot(
             map_json = json.loads(map_json_page.text)
         else:
             map_json = None
-        text = create_sledrun_wiki(sledrun_json, map_json)
+        impressions = None
+        sledrun_impressions_page = Page(self.site, self.current_page.title() + '/Impressionen')
+        if sledrun_impressions_page.exists():
+            impressions = sledrun_impressions_page.title()
+        text = create_sledrun_wiki(sledrun_json, map_json, impressions)
         summary = 'Rodelbahnbeschreibung von aus JSON Daten aktualisiert.'
         self.put_current(text, summary=summary)