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