Georiviere / Georiviere-admin

https://georiviere.fr
BSD 2-Clause "Simplified" License
26 stars 6 forks source link

Connexion à l'API Hub'EAU #107

Open babastienne opened 1 year ago

babastienne commented 1 year ago

Besoin exprimé :

Il est souhaité pouvoir :

Réponse :

Les développements effectués sur GeoRivière incluront un ajout d’interconnexions entre l’API Hub’EAU et les modules métiers de l’application. De la même manière que le travail déjà effectué par GeoRivière lors de la connexion avec l’API Qualité, un lien sera effectué entre le module Stations et l’API HydroBiologie, afin de remonter les stations existantes sur un territoire, ainsi que les données complémentaires associées : indices et taxons. Concernant l’API Qualité, une mise à niveau pour se conformer à la dernière version de la spécification sera effectuée. Dans le cadre de cette montée de version, GeoRivière récupérera et associera aux stations existantes les fréquences de relevés et de transmission. Les modifications sur l’interconnexion seront l’occasion d’ajouter trois champs supplémentaires destinés à accueillir des URLs (soit auto-générées, soit à saisir manuellement) :

thomasmagninfeysot commented 1 year ago

Ok pour moi par contre

LePetitTim commented 1 year ago

sur l'URL créée pour Opérations URI renvoyant vers hydroeaufrance, l'URL ne fonctionne pas avec le code de la station. En regardant, il faut prendre uniquement les 7 premiers chiffres du code station, possible ?

Je ne suis pas sure de comprendre la demande. Sinous utilisons que 7 chiffres ce n'est plus le bon code de station

thomasmagninfeysot commented 1 year ago

Pour la station V241402001, dans l'URL, c'est le code site et pas le code station qu'il faut reprendre pour arriver sur sa fiche sur Hydro.eaufrance : https://www.hydro.eaufrance.fr/sitehydro/V2414020/series image

babastienne commented 1 year ago

Corrigé mais à priori l'URL n'est pas fonctionnelle

thomasmagninfeysot commented 1 year ago

@babastienne tu as une URL en exemple pour que je regarde ?

babastienne commented 1 year ago

@thomaspnrhj ton commentaire avait été mal interprété par @LePetitTim, la PR #213 corrige le problème.

thomasmagninfeysot commented 1 year ago

Testé sur la 1.2.4 : toujours le problème d'URL

babastienne commented 1 year ago

@thomaspnrhj peux-tu préciser le problème ? Sur quel objet observe tu le problème ? Peux-tu mettre une capture d'écran / un contexte ?

thomasmagninfeysot commented 1 year ago

Même exemple que en haut : image

thomasmagninfeysot commented 1 year ago

C'est observé sur toutes les stations hydro, il faut générer l'url avec le code site et pas le code station (ou sinon ne pas prendre les deux derniers chiffres du code station) : https://www.hydro.eaufrance.fr/sitehydro/V2414020/series

babastienne commented 1 year ago

De mon côté testé à l'instant, tout semble ok :

Station temperature

image

Station hydrometrie

image

Station qualité

image

Station hydrobio

image

Tout semble ok donc. Est-ce que tu as bien mis à jour les stations avec la commande d'import ?

thomasmagninfeysot commented 1 year ago

Merci de ton retour rapide, effectivement j'avais pas pensé à faire le réimport... C'est tout bon merci! Par contre comme mentionné ci-dessus, j'ai toujours cette alerte qui pour l'import des stations qualite :

Import 617 stations from API https://hubeau.eaufrance.fr/api/v2/qualite_rivieres/station_pc?format=json&size=1000&code_departement=01 Traceback (most recent call last): File "/opt/georiviere-admin/manage.py", line 22, in main() File "/opt/georiviere-admin/manage.py", line 18, in main execute_from_command_line(sys.argv) File "/opt/venv/lib/python3.9/site-packages/django/core/management/init.py", line 401, in execute_from_command_line utility.execute() File "/opt/venv/lib/python3.9/site-packages/django/core/management/init.py", line 395, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "/opt/venv/lib/python3.9/site-packages/django/core/management/base.py", line 330, in run_from_argv self.execute(*args, cmd_options) File "/opt/venv/lib/python3.9/site-packages/django/core/management/base.py", line 371, in execute output = self.handle(*args, *options) File "/opt/georiviere-admin/georiviere/observations/management/commands/init.py", line 61, in handle self.create_or_update_stations(results, verbosity, with_parameters) File "/opt/georiviere-admin/georiviere/observations/management/commands/import_pcquality_stations.py", line 110, in create_or_update_stations parameter_tracking, parameter_tracking_created = ParameterTracking.objects.get_or_create( File "/opt/venv/lib/python3.9/site-packages/django/db/models/manager.py", line 85, in manager_method return getattr(self.get_queryset(), name)(args, kwargs) File "/opt/venv/lib/python3.9/site-packages/django/db/models/query.py", line 573, in get_or_create return self.get(**kwargs), False File "/opt/venv/lib/python3.9/site-packages/django/db/models/query.py", line 433, in get raise self.model.MultipleObjectsReturned( georiviere.observations.models.MultipleObjectsReturned: get() returned more than one ParameterTracking -- it returned 3!