Move the kiosk server to another machine; changes needed to make it work there.
[kiosk.git] / weather_renderer.py
index fbb3ed8170f873da0a3223088b8c60462a858c1a..46d891cf3c6497fcbd5cfdee37d0bb89c0dca7db 100644 (file)
@@ -65,6 +65,7 @@ class weather_renderer(renderer.debuggable_abstaining_renderer):
             return f"{self.describe_magnitude(magnitude)} rain"
         elif snow > 0:
             return f"{self.describe_magnitude(magnitude)} snow"
+        return "rain"
 
     def fix_caps(self, s: str) -> str:
         r = ""
@@ -97,7 +98,7 @@ class weather_renderer(renderer.debuggable_abstaining_renderer):
         seen_snow = False
         cloud_count = 0
         clear_count = 0
-        total_snow = 0
+        total_snow = 0.0
         count = min(len(conditions), len(rain), len(snow))
         for x in range(0, count):
             seen_rain = rain[x] > 0
@@ -216,7 +217,7 @@ class weather_renderer(renderer.debuggable_abstaining_renderer):
         descr = self.fix_caps(descr)
         return descr
 
-    def fetch_weather(self) -> None:
+    def fetch_weather(self) -> bool:
         if self.file_prefix == "stevens":
             text_location = "Stevens Pass, WA"
             param = "lat=47.74&lon=-121.08"
@@ -266,10 +267,10 @@ class weather_renderer(renderer.debuggable_abstaining_renderer):
             ts = {}
             highs = {}
             lows = {}
-            wind = {}
-            conditions = {}
-            rain = {}
-            snow = {}
+            wind: Dict[str, List[float]] = {}
+            conditions: Dict[str, List[str]] = {}
+            rain: Dict[str, List[float]] = {}
+            snow: Dict[str, List[float]] = {}
             for x in range(0, count):
                 data = parsed_json["list"][x]
                 dt = data["dt_txt"]  # 2019-10-07 18:00:00
@@ -376,7 +377,7 @@ class weather_renderer(renderer.debuggable_abstaining_renderer):
 
                 # Icon
                 f.write(
-                    '  <tr><td colspan=3 height=100><center><img src="/icons/weather/%s" height=125></center></td></tr>\n'
+                    '  <tr><td colspan=3 height=100><center><img src="/kiosk/pages/images/weather/%s" height=125></center></td></tr>\n'
                     % self.pick_icon(conditions[date], rain[date], snow[date])
                 )