pywws.toservice — pywws 13.03_7f9fc90 documentation

### Navigation

- index
- modules |
- suivant |
- précédent |
- pywws 13.03_7f9fc90 documentation »
- Programmes et des modules Python »

# pywws.toservice

Poster des mise à jour météo pour des services tels que Weather Underground

    usage: python RunModule.py 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

## Introduction

Plusieurs organisations permettent aux stations météorologiques de télécharger des données en utilisant une simple requête ‘POST’ ou ‘GET’ HTTP, avec les données codées comme une séquence `clé=valeur `` séparées par des paires de caractères ``&`.

Ce module permet à pywws de téléverser les données lues à ces organisations. Il est hautement personnalisable en utilisant les fichiers de configuration. Chaque ‘service’ nécessite un fichier de configuration et de deux gabarits dans `pywws/services` (ne devrait pas avoir besoin d’être modifié par l’utilisateur) et une section dans le fichier `weather.ini` contenant des données spécifiques sur l’utilisateur telles que votre identificateur de site et le mot de passe.

Il existe actuellement six services pour lesquels des fichiers de configuration ont été créés.

organisation | service name | fichier de configuration
--- | --- | ---
UK Met Office | `metoffice` | `../../code/pywws/services/metoffice.ini`
Open Weather Map | `openweathermap` | `../../code/pywws/services/openweathermap.ini`
Stacja Pogody | `stacjapogodywawpl` | `../../code/pywws/services/stacjapogodywawpl.ini`
temperatur.nu | `temperaturnu` | `../../code/pywws/services/temperaturnu.ini`
Weather Underground | `underground` | `../../code/pywws/services/underground.ini`
wetter.com | `wetterarchivde` | `../../code/pywws/services/wetterarchivde.ini`

## Configuration

Si vous ne l’avez pas déjà fait, visitez le site Web de l’organisation et créez un compte pour votre station météo. Prenez note de tous les détails d’identification du site et du mot de passe vous ayant été donnés.

Stop any pywws software that is running and then run `toservice` to create a section in `weather.ini`:

    python RunModule.py toservice data_dir service_name

`service_name` est le nom de services en un seul mot, tels que `metoffice`, `data_dir` est votre répertoire de données météo, comme d’habitude.

Editer le fichier `weather.ini` et trouver la section correspondant au nom du service, par exemple, `[underground]`. Copier les détails de votre site dans cette section, par exemple:

    [underground]
    password = secret
    station = ABCDEFG1A

Maintenant, vous pouvez tester votre configuration:

    python RunModule.py toservice -vvv data_dir service_name

Celà devrait vous afficher la chaîne de données qui est téléversé. Tout manquement devrait générer un message d’erreur.

## Téléverser les anciennes données

Now you can upload your last 7 days’ data, if the service supports it. Edit your `weather.ini` file and remove the `last update` line from the appropriate section, then run `toservice` with the catchup option:

    python RunModule.py toservice -cvv data_dir service_name

Cela peut prendre 20 minutes ou plus, en fonction de la quantité de données que vous avez.

## Ajoutez le(s) téléversement de(s) service(s) aux tâches régulières

Modifiez votre fichier `weather.ini` de nouveau et ajoutez une liste de services dans la section `[live]`, `[logged]`, `[hourly]`, `[12 hourly]` ou `[daily]`, en fonction de la fréquence à laquelle vous souhaitez envoyer les données. Par exemple:

    [live]
    twitter = []
    plot = []
    text = []
    services = ['underground']

    [logged]
    twitter = []
    plot = []
    text = []
    services = ['metoffice', 'stacjapogodywawpl']

    [hourly]
    twitter = []
    plot = []
    text = []
    services = ['underground']

Notez que la section `[live]` n’est utilisée que lors de l’exécution de `LiveLog.py`. C’est une bonne idée de répéter tout service sélectionné dans `[live]` dans la section `[connecté]` ou `[hourly]` au cas où vous passez au fonctionnement `horaires`.

Redémarrez votre programme pywws régulier (`Hourly` ou `LiveLog`) et visitez le site Web approprié pour voir les mises à jour régulières de votre station météo.

## Notes sur les services

### UK Met Office

- Créer un compte: https://register.metoffice.gov.uk/WaveRegistrationClient/public/register.do?service=weatherobservations

- API: http://wow.metoffice.gov.uk/support?category=dataformats#automatic

- Exemple `weather.ini` section:

      [metoffice]
      site id = 12345678
      aws pin = 987654

### Open Weather Map

- Créer un compte: http://openweathermap.org/login

- API: http://openweathermap.org/API

- Exemple `weather.ini` section:

      [openweathermap]
      lat = 51.501
      long = -0.142
      alt = 10
      user = Elizabeth Windsor
      password = corgi
      id = Buck House

Le comportement par défaut est d’utiliser votre nom d’utilisateur pour identifier la station météo. Cependant, il est possible pour un utilisateur d’avoir plus d’une station météo, il y a donc un paramètre``name`` dans l’API qui peut être utilisé pour identifier la station. Cela apparaît comme `id` dans `weather.ini`. Assurez-vous que vous ne choisissez pas un nom qui est déjà utilisé.

### Weather Underground

- Créer un compte: http://www.wunderground.com/members/signup.asp

- API: http://wiki.wunderground.com/index.php/PWS_-_Upload_Protocol

- Exemple `weather.ini` section:

      [underground]
      station = ABCDEFGH1
      password = xxxxxxx

## API

Classes

`ToService`(params, calib_data[, service_name]) | Téléverse les données météo pour les services météorologiques tels que Weather

class `pywws.toservice.` `ToService`(params, calib_data, service_name=None)

  Téléverse les données météo pour les services météorologiques tels que Weather Underground.

  Paramètres: | params (`pywws.DataStore.params`) – pywws configuration. calib_data (`pywws.DataStore.calib_store`) – ‘calibrated’ data. service_name (string) – name of service to upload to.

  `translate_data`(current, fixed_data)

    Convertir un enregistrement de données météorologiques en format à téléverser.

    Le paramètre `current` contient les données à envoyer. Il devrait y avoir un enregistrement de données ‘calibré’, tels que stockés dans `pywws.DataStore.calib_store`.

    Le paramètre `fixed_data` contient des données invariables qui sont dépendantes du site, par exemple un code d’identification et des données d’authentification.

    Paramètres: | current (dict) – the weather data record. fixed_data (dict) – unvarying upload data.
    Retourne: | converted data, or `None` if invalid data.
    Type retourné: | dict(string)

  `send_data`(data, server, fixed_data)

    Téléverse un enregistrement de données météo.

    Le paramètre `data` contient les données à être téléversées. Il devrait y avoir un enregistrement ‘calibré’ de données, tels que stockés dans `pywws.DataStore.calib_store`.

    Le paramètre `fixed_data` contient des données invariables qui sont dépendantes du site, par exemple un code d’identification et des données d’authentification.

    Paramètres: | data (dict) – the weather data record. server (string) – web address to upload to. fixed_data (dict) – unvarying upload data.
    Retourne: | success status
    Type retourné: | bool

  `Upload`(catchup)

    Upload one or more weather data records.

    Cette méthode téléverse le plus récent enregistrement de données météo ou tous les enregistrements depuis le dernier téléchargement (jusqu’à 7 jours), selon la valeur de `catchup`.

    Il définit la valeur de configuration `last update` à l’horodatage de l’enregistrement le plus récent correctement téléversé.

    Paramètres: | catchup (bool) – upload all data since last upload.
    Retourne: | success status
    Type retourné: | bool

  `RapidFire`(data, catchup)

    Upload a ‘Rapid Fire’ weather data record.

    Cette méthode téléverse un enregistrement de données unique (généralement celui qui est produit pendant l’enregistrement ‘live’) ou tous les enregistrements depuis le dernier téléversement (jusqu’à 7 jours), selon la valeur de `catchup`.

    Il définit la valeur de configuration `last update` à l’horodatage de l’enregistrement le plus récent correctement téléversé.

    Le paramètre `data` contient les données à être téléversées. Il devrait y avoir un enregistrement ‘calibré’ de données, tels que stockés dans `pywws.DataStore.calib_store`.

    Paramètres: | data (dict) – the weather data record. catchup (bool) – upload all data since last upload.
    Retourne: | success status
    Type retourné: | bool

`pywws.toservice.` `main`(argv=None)

### Navigation

- index
- modules |
- suivant |
- précédent |
- pywws 13.03_7f9fc90 documentation »
- Programmes et des modules Python »