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_none.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