Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Export Geotrek : utiliser l'API v2 #19

Closed
IdrissaD opened this issue Apr 11, 2022 · 1 comment
Closed

Export Geotrek : utiliser l'API v2 #19

IdrissaD opened this issue Apr 11, 2022 · 1 comment

Comments

@IdrissaD
Copy link
Collaborator

Il serait beaucoup plus simple et robuste d'utiliser directement les données JSON issues de l'API v2 au lieu d'une vue PostgreSQL.

Les trois choses à faire

  • renommer les champs issus de l'API pour les faire correspondre au schéma ;
  • gérer les données de la sous-requête constants de la vue SQL ;
  • gérer les valeurs de champs pour lesquels une liste de valeurs a été définie (pratique, type_itineraire, etc.)

Un script Python ferait l'affaire, et nous débarrasserait des problèmes d'extension PostgreSQL, de sous-requêtes, jointures, etc.

Limites

Impossible de récupérer certaines données comme les types de sol ou l'inscription au PDIPR comme on avait commencé à y réfléchir en #15.

IdrissaD added a commit that referenced this issue May 25, 2022
Export directly from Django models - #19
@IdrissaD
Copy link
Collaborator Author

L'utilisation de l'API v2 aurait entraîné une grande complexité du script Python, car les noms de catégorie (de pratique, difficulté, etc.) ne sont pas stockés dans la route trek, en général seuls leurs identifiants le sont. Pour obtenir les noms, il aurait fallu interroger les routes de toutes les catégories, et faire une jointure sur les identifiants pour associer le bon nom de catégorie au bon itinéraire de randonnée.

Cette méthode a donc été abandonnée au profit de l'utilisation directe des modèles Django, via une commande native de Geotrek. Le script est ainsi beaucoup plus simple, et aucune requête HTTP n'est nécessaire. Voir commit 659c46a.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant