4 from typing import List, Dict
5 import xml.etree.ElementTree as ET
11 class stevens_pass_conditions_renderer(renderer.debuggable_abstaining_renderer):
12 """Renders a page about Stevens Pass conditions."""
15 self, name_to_timeout_dict: Dict[str, int], feed_site: str, feed_uris: List[str]
17 super(stevens_pass_conditions_renderer, self).__init__(
18 name_to_timeout_dict, False
20 self.feed_site = feed_site
21 self.feed_uris = feed_uris
23 def debug_prefix(self) -> str:
26 def periodic_render(self, key: str) -> bool:
27 with file_writer.file_writer("stevens-conditions_1_86400.html") as f:
28 for uri in self.feed_uris:
29 self.conn = http.client.HTTPSConnection(self.feed_site)
30 self.conn.request("GET", uri, None, {"Accept-Charset": "utf-8"})
31 response = self.conn.getresponse()
32 if response.status == 200:
34 rss = ET.fromstring(raw)
36 for item in channel.getchildren():
37 if item.tag == "title":
38 f.write(f"<h1>{item.text}</h1><hr>")
40 '<IMG WIDTH=512 ALIGN=RIGHT HEIGHT=382 SRC="https://images.wsdot.wa.gov/nc/002vc06430.jpg?t=637059938785646824" style="padding:8px;">'
42 elif item.tag == "item":
43 for x in item.getchildren():
44 if x.tag == "description":
48 "<strong>Stevens Pass US2</strong><br/>", ""
50 text = text.replace("<br/><br/>", "<BR>")
52 "<strong>Elevation Meters:</strong>1238<BR>", ""
56 f.write(f"<P>\n{text}\n")