Posta gli aggiornamenti delle condizioni meteo a servizi come Weather Underground
usage: python -m pywws.toservice [options] data_dir service_name
options are:
-h or --help display this help
-c or --catchup upload all data since last upload
-v or --verbose increase amount of reassuring messages
data_dir is the root directory of the weather data
service_name is the service to upload to, e.g. underground
Diverse organizzazioni consentono alle stazioni meteorologiche di caricare i dati utilizzando un semplice HTTP ‘POST’ o ‘GET’ richiesta, con i dati codificati come una sequenza di coppie key=value separate dal carattere &.
Questo modulo permette a pywws di caricare letture a queste organizzazioni. E ‘altamente personalizzabile utilizzando i file di configurazione. Ogni ‘servizio’ richiede un file di configurazione e di due modelli in pywws/services (Che non dovrebbe essere necessario modificare dall’utente) e una sezione in weather.ini contenente i dati specifici dell’utente, quali l’ID del sito e la password.
Attualmente ci sono sei servizi per i quali i file di configurazione sono stati scritti.
ente |
nome del servizio |
file di configurazione |
---|---|---|
UK Met Office | metoffice | ../../pywws/services/metoffice.ini |
Open Weather Map | openweathermap | ../../pywws/services/openweathermap.ini |
PWS Weather | pwsweather | ../../pywws/services/pwsweather.ini |
Stacja Pogody | stacjapogodywawpl | ../../pywws/services/stacjapogodywawpl.ini |
temperatur.nu | temperaturnu | ../../pywws/services/temperaturnu.ini |
Weather Underground | underground | ../../pywws/services/underground.ini |
wetter.com | wetterarchivde | ../../pywws/services/wetterarchivde.ini |
Se non lo hai già fatto, visitate il sito web dell’organizzazione e creare un account per la vostra stazione meteo. Prendere nota di qualsiasi ID del sito e la password che vi vengono dati.
Interrompere qualsiasi software Pywws che è in esecuzione, quindi esegui toservice per creare una sezione in weather.ini:
python -m pywws.toservice data_dir service_name
service_name è un nome (singola parola) del servizio, ad esempio metoffice, data_dir è la directory dei dati meteo, come al solito.
Modificare weather.ini e trovare la sezione corrispondente al nome del servizio, ad esempio [underground]. Copiare i dettagli del tuo sito in questa sezione, ad esempio:
[underground]
password = secret
station = ABCDEFG1A
Ora si può verificare la configurazione:
python -m pywws.toservice -vvv data_dir service_name
Questo dovrebbe mostrare la stringa di dati che viene caricata. Qualsiasi inconveniente dovrebbe generare un messaggio di errore.
Ora potete caricare il vostri ultimi 7 giorni di dati, se il servizio lo supporta. Modifica il tuo file status.ini e cancella la riga relativa nella sezione last update, quindi eseguire di nuovo toservice con l’opzione ‘catchup’:
python -m pywws.toservice -cvv data_dir service_name
Questo può durare 20 minuti o più, a seconda della quantità di dati.
Modificare nuovamente il file weather.ini e aggiungere un elenco dei servizi per nella sezione [live], [logged], [hourly], [12 hourly] o ``[daily]`, a seconda di quante volte si desidera inviare i dati. Ad esempio:
[live]
twitter = []
plot = []
text = []
services = ['underground_rf']
[logged]
twitter = []
plot = []
text = []
services = ['metoffice', 'stacjapogodywawpl']
[hourly]
twitter = []
plot = []
text = []
services = ['underground']
Si noti che la sezione [live] viene utilizzata solo quando si esegue LiveLog. È una buona idea di ripetere qualsiasi servizio selezionato in [live] nella sezione [logged] o [hourly] nel caso in cui si passa all’ esecuzione di Hourly.
Riavviare il programma pywws (Hourly o LiveLog) e visitare il sito web appropriato per vedere gli aggiornamenti per la tua stazione meteo.
Funzioni
ApplicationLogger(verbose[, logfile]) | |
main([argv]) |
Classi
SafeConfigParser([defaults, dict_type, ...]) | |
ToService(params, status, calib_data, ...) | Carica dati meteo a servizi meteorologici come Weather Underground. |
datetime | datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]]) |
timedelta | Differenza tra due valori datetime. |
Carica dati meteo a servizi meteorologici come Weather Underground.
Parametri: |
|
---|
Codificare un record di dati meteo.
Il parametro data contiene i dati da codificare. Dovrebbe essere un record di dati ‘calibrato’, memorizzato in pywws.DataStore.calib_store.
Parametri: | data (dict) – il record di dati meteo. |
---|---|
Ritorna: | Url dati codificati |
Tipo di ritorno: | |
srtinga |
Carica un set di dati meteo.
Il parametro coded_data contiene i dati da caricare. Dovrebbe essere una stringa url codificata.
Parametri: | coded_data – I dati da caricare. |
---|---|
Ritorna: | esito positivo |
Tipo di ritorno: | |
bool |
Riceve i record di dati meteo da caricare .
Questo metodo restituisce i record meteo più recenti oppure tutti i record di un oggetto datetime, secondo il valore di start.
Parametri: |
|
---|---|
Ritorna: | restituisce i record di dati meteo. |
Tipo di ritorno: | |
dict |
Ottiene data e ora del primo ‘catchup’ record per inviare.
Tipo di ritorno: | |
---|---|
datetime |
Caricare uno o più record di dati meteorologici.
Questo metodo carica o il più recente record di dati meteo, o tutti i record dopo l’ultimo caricamento (fino a 7 giorni), secondo il valore di catchup.
Imposta il valore di configurazione last update il timestamp del record più recente correttamente caricato.
Parametri: | catchup (bool) – carica tutti i dati dall’ultimo caricamento. |
---|---|
Ritorna: | esito positivo |
Tipo di ritorno: | |
bool |