def iter_gauges(self, pattern=None): if pattern is None or pattern.lower() in u"dresden"\ or pattern.lower() in "weather": gauge = Gauge("wetter") gauge.name = u"Private Wetterstation Dresden" gauge.city = u"Dresden" gauge.object = u"Weather" gauge.sensors = list(self.browser.get_sensors_list()) yield gauge
def get_station_list(self): gauges = [] for marker in self.parser.select(self.document.getroot(), 'marker'): gauge = Gauge(int(marker.get('id'))) gauge.name = unicode(marker.get('name')) gauge.city = gauge.name gauge.object = u'vLille' gauges.append(gauge) return gauges
def _make_gauge(self, info): gauge = Gauge(info['id']) gauge.name = info['name'] gauge.city = info['city'] gauge.object = 'bikes' return gauge
def get_rivers_list(self): for pegel in self.document.getroot().xpath(".//a[@onmouseout='pegelaus()']"): div = pegel.getparent() img = div.find('.//img').attrib['src'].split('/')[1] data = pegel.attrib['onmouseover'] \ .strip('pegelein(').strip(')').replace(",'", ",").split("',") gauge = Gauge(int(data[7])) gauge.name = unicode(data[0].strip("'")) gauge.city = gauge.name.split(' ')[0] gauge.object = unicode(data[1]) sensors = [] try: lastdate = date(*reversed([int(x) for x in data[2].split(' ')[0].split(".")])) lasttime = time(*[int(x) for x in data[2].split(' ')[1].split(":")]) lastdate = datetime.combine(lastdate, lasttime) except: lastdate = NotAvailable bildforecast = data[5] if bildforecast == "pf_gerade.png": forecast = u"stable" elif bildforecast == "pf_unten.png": forecast = u"Go down" elif bildforecast == "pf_oben.png": forecast = u"Go up" else: forecast = NotAvailable try: level = float(data[3]) except: level = NotAvailable levelsensor = GaugeSensor(gauge.id + "-level") levelsensor.name = u"Level" levelsensor.unit = u"cm" levelsensor.forecast = forecast lastvalue = GaugeMeasure() lastvalue.level = level lastvalue.date = lastdate try: lastvalue.alarm = self.alarmlevel[img] except KeyError: lastvalue.alarm = u"" levelsensor.lastvalue = lastvalue levelsensor.history = NotLoaded levelsensor.gaugeid = gauge.id sensors.append(levelsensor) try: flow = float(data[4]) except: flow = NotAvailable flowsensor = GaugeSensor(gauge.id + "-flow") flowsensor.name = u"Flow" flowsensor.unit = u"m3/s" flowsensor.forecast = forecast lastvalue = GaugeMeasure() lastvalue.level = flow lastvalue.date = lastdate try: lastvalue.alarm = self.alarmlevel[img] except KeyError: lastvalue.alarm = u"" flowsensor.lastvalue = lastvalue flowsensor.history = NotLoaded flowsensor.gaugeid = gauge.id sensors.append(flowsensor) gauge.sensors = sensors yield gauge
def get_rivers_list(self): for pegel in self.document.getroot().xpath(".//a[@onmouseout='pegelaus()']"): data = pegel.attrib['onmouseover'].strip('pegelein(').strip(')').replace(",'", ",").split("',") gauge = Gauge(int(data[7])) gauge.name = unicode(data[0].strip("'")) gauge.city = gauge.name.split(' ')[0] # TODO: real regexp to remove the number gauge.object = unicode(data[1]) sensors = [] try: lastdate = date(*reversed([int(x) for x in data[2].split(' ')[0].split(".")])) lasttime = time(*[int(x) for x in data[2].split(' ')[1].split(":")]) lastdate = datetime.combine(lastdate, lasttime) except: lastdate = NotAvailable bildforecast = data[5] if bildforecast == "pf_gerade.png": forecast = u"stable" elif bildforecast == "pf_unten.png": forecast = u"Go down" elif bildforecast == "pf_oben.png": forecast = u"Go up" else: forecast = NotAvailable try: level = float(data[3]) levelsensor = GaugeSensor(gauge.id + "-level") levelsensor.name = u"Level" # TODO levelsensor.unit = levelsensor.forecast = forecast lastvalue = GaugeMeasure() lastvalue.level = level lastvalue.date = lastdate # TODO lastvalue.alarm = levelsensor.lastvalue = lastvalue levelsensor.history = NotLoaded levelsensor.gaugeid = gauge.id sensors.append(levelsensor) except: pass try: flow = float(data[4]) flowsensor = GaugeSensor(gauge.id + "-flow") flowsensor.name = u"Flow" # TODO flowsensor.unit = flowsensor.forecast = forecast lastvalue = GaugeMeasure() lastvalue.level = flow lastvalue.date = lastdate # TODO lastvalue.alarm = flowsensor.lastvalue = lastvalue flowsensor.history = NotLoaded flowsensor.gaugeid = gauge.id sensors.append(flowsensor) except: pass gauge.sensors = sensors yield gauge