Beispiel #1
0
def getmetar(icao):
    try:
        icao = str(icao.upper())
        metar = MetarSet(icao)
        metar.refresh()
        metar = metar.get_latest()
        metar = (str(metar.raw_text))
        return str(metar)
    except Exception as e:
        return str(e)
            indicators.append(
                Indicator('yellow', "Wind Gusting: %s kts" % metar.wind.gust))
    if metar.temp <= -4:
        indicators.append(
            Indicator(
                'yellow',
                "It's chilly: %.0fC (%.0fF)" % (metar.temp,
                                                (metar.temp * 9 / 5 + 32))))
    return indicators


if len(sys.argv) != 2:
    print "Must enter a single airport identifier as an argument."
    sys.exit(1)

metar_set = MetarSet("%s" % sys.argv[1])
metar_set.refresh()
#metar = Metar('KAPA', fake='mock.xml')
metar = metar_set.get_latest()
if metar is None:
    print "No METARs found"
    sys.exit(1)

bad_indicators = get_bad_indicators(metar)
print metar.raw_text
if len(bad_indicators) == 0:
    print Indicator('green')
else:
    for indicator in bad_indicators:
        print indicator
Beispiel #3
0
 def setUp(self):
     with open('tests/mock_KBUF.xml', 'rU') as f:
         self.mock_response = f.read()
     self.metar_set = MetarSet('KBUF,KAPA')
     self.metar_set.refresh(mock_response=self.mock_response)
Beispiel #4
0
 def test_implicit_station_string(self):
     metar_set = MetarSet('wrong')
     metar_set.refresh(mock_response=self.mock_response)
     for metar in metar_set.report_set:
         self.assertEqual(metar.station.station_id, "KBUF")
Beispiel #5
0
    def __init__(self, station_id):
        self.station = WeatherStation(station_id)
        self.metars = MetarSet(station_id)
        self.tafs = TafSet(station_id)

        self.refresh()