pywws.service.cwop¶
Upload weather data to Citizen Weather Observer Program.
The Citizen Weather Observer Program (CWOP) is a north American public-private partnership to gather weather data. This module uploads data to it from pywws. You can upload “logged” or “live” data (or both). The module ensures there is at least 5 minutes between each reading as required by the API.
Create account: http://www.wxqa.com/SIGN-UP.html
Example
weather.ini
configuration:[cwop] designator = EW9999 latitude = 5130.06N longitude = 00008.52E passcode = -1 [logged] services = ['cwop', 'underground'] [live] services = ['cwop', 'underground']
Note that the latitude and longitude must be in “LORAN” format and leading zeros are required. See question 3 in the CWOP FAQ for more information.
Licensed radio hams use their callsign as the designator and need a
passcode. Other users should leave the passcode at its default value of
-1
.
The CWOP/APRS uploader is based on code by Marco Trevisan <mail@3v1n0.net>.
Classes
ToService (context[, check_params]) |
-
class
pywws.service.cwop.
ToService
(context, check_params=True)[source]¶ Bases:
pywws.service.LiveDataService
-
config
= {'designator': ('', True, 'designator'), 'latitude': ('', True, 'latitude'), 'longitude': ('', True, 'longitude'), 'passcode': ('-1', True, 'passcode')}¶
-
fixed_data
= {'version': '21.4.0'}¶
-
interval
= datetime.timedelta(seconds=290)¶
-
logger
= <Logger pywws.service.cwop (WARNING)>¶
-
service_name
= 'cwop'¶
-
template
= '\n#live#\n\'idx\' : #idx "\'%d%H%M\',"#\n\'wind_dir\' : #wind_dir "\'%03.0f\'," "\'...\'," "winddir_degrees(x)"#\n\'wind_ave\' : #wind_ave "\'%03.0f\'," "\'...\'," "wind_mph(x)"#\n\'wind_gust\' : #wind_gust "\'%03.0f\'," "\'...\'," "wind_mph(x)"#\n\'temp_out\' : #temp_out "\'%03.0f\'," "\'...\'," "temp_f(x)"#\n\'hum_out\' : #hum_out "\'%02d\'," "\'..\'," "x % 100"#\n\'rel_pressure\' : #rel_pressure "\'%05.0f\'," "\'.....\'," "x * 10.0"#\n\'rain_hour\' : #calc "100.0*rain_inch(rain_hour(data))" "\'%03.0f\'," "\'...\',"#\n\'rain_24hr\' : #calc "100.0*rain_inch(rain_24hr(data))" "\'%03.0f\'," "\'...\',"#\n'¶
-
session
()[source]¶ Context manager factory function for a batch of one or more uploads.
This makes it easy to ensure any resources such as an internet connection are properly closed after a batch of uploads. Use the
contextlib.contextmanager()
decorator when you implement this method.For a typical example, see the source code of the
pywws.service.openweathermap
module. If your upload can’t benefit from a session object yieldNone
, as inpywws.service.copy
.
-
Comments or questions? Please subscribe to the pywws mailing list http://groups.google.com/group/pywws and let us know.