Exemplo n.º 1
0
def handler_weather_weather(type, source, parameters):
    if not parameters:
        reply(type, source, u'hmmmm?')
        return
    try:
        rf = pymetar.ReportFetcher(parameters.strip())
        fr = rf.FetchReport()
    except Exception, ex:
        results = u'Whether and if such code?'
        return
Exemplo n.º 2
0
def handler_weather_weather(source, parameters):
    if not parameters:
        reply(source, u'ииии?')
        return
    try:
        rf = pymetar.ReportFetcher(parameters.strip())
        fr = rf.FetchReport()
    except Exception, ex:
        if parameters.count('/'):
            parameters = return_code(parameters.rsplit(
                ' ', 1)[0]).split()[int(parameters.split('/')[1]) - 1]
        else:
            parameters = return_code(parameters).split()[0]
        try:
            rf = pymetar.ReportFetcher(parameters.strip())
            fr = rf.FetchReport()
        except Exception, ex:
            #           reply(type, source, u'А оно есть?')
            return
Exemplo n.º 3
0
def handler_weather_weather(type, source, parameters):
    if not parameters:
        reply(type, source, u'وبعدين مابدك تحل عني ؟')
        return
    try:
        rf = pymetar.ReportFetcher(parameters.strip())
        fr = rf.FetchReport()
    except Exception, ex:
        results = u'هل يوجد كود مماثل؟'
        return
Exemplo n.º 4
0
 def Display(self):
     fetcher = pymetar.ReportFetcher()
     report = fetcher.FetchReport(self.icao)
     parser = pymetar.ReportParser()
     parser.ParseReport(report)
     temperature = report.getTemperatureCelsius()
     # NOTE(damonkohler): There is no 'Weather' heading for clear weather.
     weather = report.getWeather() or 'Clear'
     self.pert.Clear()
     self.pert.WrapMessage('%d\xdfC %s' % (temperature, weather))
Exemplo n.º 5
0
def get_weather(station_name="EHAM"):
    station = station_name

    try:
        rf=pymetar.ReportFetcher(station)
        rep=rf.FetchReport()
    except Exception, e:
        sys.stderr.write("Something went wrong when fetching the report.\n")
        sys.stderr.write("These usually are transient problems if the station ")
        sys.stderr.write("ID is valid. \nThe error encountered was:\n")
        sys.stderr.write(str(e)+"\n")
        sys.exit(1)
Exemplo n.º 6
0
    def __init__(self, station):
        self.io = pymetar.ReportFetcher()
        self.station = station
        self.initPeriod = self.updatePeriod = 15 * 60.0
        self.minPeriod = 10 * 60.0
        self.maxPeriod = 2 * 60 * 60.0
        self.lastUpdate = None  # Time of last report
        self.scan = IOScanListBlock()  # I/O Intr scan for report data
        self.intscan = IOScanListBlock()  # scan for internal info

        super(ReportScanner, self).__init__()

        addHook('AfterIocRunning', self.start)
        addHook('AtIocExit', self.join)
Exemplo n.º 7
0
def get_metar(station):
	'''fetch the METAR for a given station and return a pymetar object'''
	wx_fetcher = pymetar.ReportFetcher()
	dest = station + '.TXT'
	if not os.path.exists(dest): # pull from network
		raw_report = wx_fetcher.FetchReport(station)
		data = urllib2.urlopen(raw_report.reporturl).read()
		fd = open(dest, 'a+')
		fd.write(data)
		fd.close()
	else: # use local cache
		fd = open(dest)
		report_text = fd.read()
		fd.close()
		raw_report = wx_fetcher.MakeReport(station, report_text)

	wx_parser = pymetar.ReportParser()
	wx_report = wx_parser.ParseReport(raw_report)
	return wx_report
Exemplo n.º 8
0
import pymetar                                            # BMP085
from Adafruit.BMP085.Adafruit_BMP085 import BMP085        # BMP085
from gps import *                                         # GPS

# ========================
# Switches
# ========================
t1 = os.getpid()
DEBUG = 1
LOGGER = 0

# ========================
# Metar declare
# ========================
station = "KPNE"
rf=pymetar.ReportFetcher(station)
rep=rf.FetchReport()
rp=pymetar.ReportParser()
pr=rp.ParseReport(rep)
locAS = 1013.25

# ========================
# COSM variables
# ========================
#API_KEY = '1nmfR0zAp8X0jB27soRr6qCxk_iSAKx5NUJHNGJYajZobz0g'
#FEED = 79880
#API_URL = '/v2/feeds/{feednum}.xml' .format(feednum = FEED)

# ========================
# Setup
# ========================
Exemplo n.º 9
0
    'Snow grain showers'
])

if __name__ == "__main__":
    if len(sys.argv) > 1:
        repdir = sys.argv[1]
    else:
        repdir = ("reports")

    if len(sys.argv) > 2:
        reports = sys.argv[2:]
    else:
        reports = os.listdir(repdir)
    reports.sort()
    count = 0
    rf = pymetar.ReportFetcher()
    for reportfile in reports:
        station = reportfile[:-4]

        fd = open("%s/%s" % (repdir, reportfile))
        try:
            report = fd.read().encode()
        except UnicodeDecodeError:
            continue
        fd.close()

        repo = rf.MakeReport(station, report)
        rp = pymetar.ReportParser()
        pr = rp.ParseReport(repo)

        a = pr.getConditions()
Exemplo n.º 10
0
def getWeather(station):
    rf = pymetar.ReportFetcher(station)
    rep = rf.FetchReport()
    rp = pymetar.ReportParser()
    return rp.ParseReport(rep)
Exemplo n.º 11
0
 def get_report_fetcher(self, code):
     print "creating report fetcher for %s" % code
     return metar.ReportFetcher(code)
Exemplo n.º 12
0
def getWeather():
    fetch = pymetar.ReportFetcher(weatherCode)
    pars = pymetar.ReportParser(fetch.FetchReport())
    pars.ParseReport()
    uinterface.console.AppendText(
        str(pars.Report.temp) + " C " + str(pars.Report.weather) + "\n")
Exemplo n.º 13
0
 def retrieve_report(self):
     rf = pymetar.ReportFetcher(self.station)
     rep = rf.FetchReport()
     rp = pymetar.ReportParser()
     return rp.ParseReport(rep)