import renderer import file_writer import http.client import xml.etree.ElementTree as ET class stevens_pass_conditions_renderer(renderer.debuggable_abstaining_renderer): def __init__(self, name_to_timeout_dict, feed_site, feed_uris): super(stevens_pass_conditions_renderer, self).__init__( name_to_timeout_dict, False ) self.feed_site = feed_site self.feed_uris = feed_uris def debug_prefix(self): return "stevens" def periodic_render(self, key): f = file_writer.file_writer("stevens-conditions_1_86400.html") for uri in self.feed_uris: self.conn = http.client.HTTPSConnection(self.feed_site) self.conn.request("GET", uri, None, {"Accept-Charset": "utf-8"}) response = self.conn.getresponse() if response.status == 200: raw = response.read() rss = ET.fromstring(raw) channel = rss[0] for item in channel.getchildren(): if item.tag == "title": f.write("

%s


" % item.text) f.write( '' ) elif item.tag == "item": for x in item.getchildren(): if x.tag == "description": text = x.text text = text.replace( "Stevens Pass US2
", "" ) text = text.replace("

", "
") text = text.replace( "Elevation Meters:1238
", "" ) f.write("

\n%s\n" % text) f.close() return True f.close() return False