1#!/usr/bin/python3 -tt
2
3import pymetar
4import sys
5import os
6
7if __name__ == "__main__":
8    if len(sys.argv) > 1:
9        repdir=sys.argv[1]
10    else:
11        repdir=("reports")
12
13    if len(sys.argv) > 2:
14        reports = sys.argv[2:]
15    else:
16        reports = os.listdir(repdir)
17
18    reports.sort()
19    count=0
20    rf=pymetar.ReportFetcher()
21
22    for reportfile in reports:
23        station = reportfile[:-4]
24        sys.stdout.write("%s " % (station))
25        sys.stdout.flush()
26
27        fd = open("%s/%s" % (repdir, reportfile))
28        try:
29            report = fd.read().encode()
30        except UnicodeDecodeError:
31            continue
32        fd.close()
33
34        repo = rf.MakeReport(station, report)
35
36        rp = pymetar.ReportParser()
37        pr = rp.ParseReport(repo)
38
39        a=pr.getFullReport()
40        a=pr.getTemperatureCelsius()
41        a=pr.getTemperatureFahrenheit()
42        a=pr.getDewPointCelsius()
43        a=pr.getDewPointFahrenheit()
44        a=pr.getWindSpeed()
45        a=pr.getWindSpeedMilesPerHour()
46        a=pr.getWindSpeedBeaufort()
47        a=pr.getWindDirection()
48        a=pr.getWindCompass()
49        a=pr.getVisibilityKilometers()
50        a=pr.getVisibilityMiles()
51        a=pr.getHumidity()
52        a=pr.getPressure()
53        a=pr.getPressuremmHg()
54        a=pr.getRawMetarCode()
55        a=pr.getWeather()
56        a=pr.getSkyConditions()
57        a=pr.getStationName()
58        a=pr.getStationCity()
59        a=pr.getStationCountry()
60        a=pr.getCycle()
61        a=pr.getStationPosition()
62        a=pr.getStationPositionFloat()
63        a=pr.getStationLatitude()
64        a=pr.getStationLatitudeFloat()
65        a=pr.getStationLongitude()
66        a=pr.getStationLongitudeFloat()
67        a=pr.getStationAltitude()
68        a=pr.getReportURL()
69        a=pr.getTime()
70        a=pr.getISOTime()
71        a=pr.getPixmap()
72        a=pr.getCloudinfo()
73        a=pr.getConditions()
74        a=pr.getWindchill()
75        a=pr.getWindchillF()
76
77        pr._clearallfields()
78
79        count += 1
80
81        sys.stdout.write("...ok\n")
82
83    sys.stderr.write("%s station reports check out ok\n" % (count))
84
85
86