Journal de géocaching

Vos astuces, vos outils
Avatar du membre
GarenKreiz
regular
regular
Contact :
Profil GC
Membre: : Premium
GPS : eTrex - Galaxy
Localisation : environs de Rennes, Bretagne
Messages : 184
Enregistré le : dim. 21 oct. 2012 10:32

Journal de géocaching

mer. 19 oct. 2016 23:57

Bonsoir,
  • Vous avez besoin de faire une passe rapide sur toutes vos photos de géocaching pour participer aux concours d'un certain forum?
  • Vous voulez repérer rapidement les logs auxquels vous avez oublié d'associer une photo?
  • Vous estimez que la galerie Groundspeak ne fait pas honneur à vos talents photographiques?
  • Vous aimeriez publier à compte d'auteur une version imprimée du récit palpitant de vos aventures géocachiques?
  • Vous souhaitez sauvegarder sur votre ordinateur personnel le patrimoine littéraire de vos logs actuellement hébergé à Seattle?
  • Vous estimez tout simplement qu'il est bon de "se souvenir des belles choses"?
Pour le plaisir de bidouiller et voir ce qu'il était possible de faire, j'ai écrit des petits scripts Python qui permettent de visualiser en une seule page HTML une série de logs et leurs photos.

Voici par exemple un extrait correspondant à l'été 2016 (version plus complète disponible)

Image

Un premier script analyse une sauvegarde de la page web de la liste des logs (choix "all logs/tous les logs" à partir du profil ) et génère un fichier en pseudo XML contenant les infos pertinentes (date, cache, status, URL, texte, liens vers les photos). Pour pouvoir analyser la page de chaque log, une copie locale est effectuée ce qui permet donc d'en avoir une sauvegarde.

Le second script utilise ce fichier XML pour générer une simple page HTML. Ce script a été réutilisé d'un projet pour faire une version imprimée d'un blog de voyage sur Blogspot.

Si vous êtes intéressés et que vous disposez d'un environnement Python, vous pouvez télécharger ces scripts depuis le projet GitHub GarenKreiz/Geocaching-Journal. Si vous avez des idées d'amélioration, vous pouvez ouvrir un ticket sur GitHub ou mieux, proposer un "pull request" (par exemple pour rendre la page "responsive" ou améliorer la présentation).

Petit rappel : le thème du concours photo d'octobre est "Lacs (étangs, mares,...)"

La version courante est la 1.1.0
Modifié en dernier par GarenKreiz le ven. 28 oct. 2016 13:15, modifié 1 fois.
Avatar du membre
Brunath_fr
regular
regular
Profil GC
Membre: : Premium
GPS : Oregon 450 / MGM / GeoFrance
Localisation : Yvelines
Messages : 195
Enregistré le : ven. 25 janv. 2013 15:22

Re: Journal de géocaching

jeu. 20 oct. 2016 07:26

Arg caramba, ça ne marche pas avec Python 3.5.2 :cry:

Code : Tout sélectionner

D:\Tmp>python processLogs.py geocaching_logs.html logbook.xml
  File "processLogs.py", line 48
    while l <> '' and (not p.search(l)):
             ^
Et pas mieux avec Python 2.7 :cry: :cry:

Code : Tout sélectionner

D:\Tmp>D:\Python27\python processLogs.py geocaching_logs.html logbook.xml
Traceback (most recent call last):
  File "processLogs.py", line 37, in <module>
    locale.setlocale(locale.LC_ALL, 'fr_FR.UTF-8')
  File "D:\Python27\lib\locale.py", line 581, in setlocale
    return _setlocale(category, locale)
locale.Error: unsupported locale setting
Environnement : Windows 10 FR 64 bits.
Avatar du membre
driquet
regular
regular
Profil GC
Membre: : Premium
GPS : Garmin Oregon 450
Localisation : Lille
Messages : 316
Enregistré le : mar. 9 juil. 2013 09:22

Re: Journal de géocaching

jeu. 20 oct. 2016 08:46

Très bonne idée !
Je m'étais toujours dit que j'allais faire un script qui fait un pêle-mêle de mes sorties geocaching !
Voila qui n'est plus à faire :-)

Pour le code, j'ai zieuté en vitesse, je me permets de te faire quelques remarques pour faciliter certaines tâches.
Pour le parsing xml/html, je te conseille de regarder du côté de la libraire BeautifoulSoup, qui permet de parcourir un fichier xml simplement. Par exemple : for elt in root.findall('name'), qui va itérer sur les balises names de ton fichier.
Pour la génération html, jinja2 est un système de template assez puissant qui évite de mettre du html dans du python.

Merci pour le partage :-)
Avatar du membre
GarenKreiz
regular
regular
Contact :
Profil GC
Membre: : Premium
GPS : eTrex - Galaxy
Localisation : environs de Rennes, Bretagne
Messages : 184
Enregistré le : dim. 21 oct. 2012 10:32

Re: Journal de géocaching

jeu. 20 oct. 2016 12:15

@Bruno : Merci d'avoir pris la peine d'essayer les scripts!
Bruno.fr a écrit :

Code : Tout sélectionner

D:\Tmp>D:\Python27\python processLogs.py geocaching_logs.html logbook.xml
Traceback (most recent call last):
  File "processLogs.py", line 37, in <module>
    locale.setlocale(locale.LC_ALL, 'fr_FR.UTF-8')
  File "D:\Python27\lib\locale.py", line 581, in setlocale
    return _setlocale(category, locale)
locale.Error: unsupported locale setting
Environnement : Windows 10 FR 64 bits.
Apparemment les codes de localisation sont différents sur Windows (perso j'utilise Cygwin). Dans un premier temps, peut-être essayer de supprimer dans le fichier processLogs.py la ligne qui plante?
Sinon essayer dans Python

Code : Tout sélectionner

import locale
print filter(lambda x: x.find('fr') <> -1, locale.locale_alias.keys())
Tu trouveras peut-être ton bonheur (ou plutôt celui de ton OS) dans la liste: la chaîne de caractère à utiliser pour remplacer "fr_FR.UTF-8".
Avatar du membre
Brunath_fr
regular
regular
Profil GC
Membre: : Premium
GPS : Oregon 450 / MGM / GeoFrance
Localisation : Yvelines
Messages : 195
Enregistré le : ven. 25 janv. 2013 15:22

Re: Journal de géocaching

jeu. 20 oct. 2016 12:19

Merci pour ta réponse GarenKreiz, j'avoue que j'ai hâte d'arriver à faire marcher ça sous Windows.
Je vais essayer ce soir, mes connaissances de Python sont limitées mais je vais fouiller un peu, je te tiens au courant.
Avatar du membre
GarenKreiz
regular
regular
Contact :
Profil GC
Membre: : Premium
GPS : eTrex - Galaxy
Localisation : environs de Rennes, Bretagne
Messages : 184
Enregistré le : dim. 21 oct. 2012 10:32

Re: Journal de géocaching

jeu. 20 oct. 2016 12:21

@Driquet : merci pour les conseils.

J'ai déjà utilisé BeautifulSoup dans le passé pour "scrapper" automatiquement sur le web la liste des documents à rendre à ma médiathèque favorite. Mais le premier script qui analyse les pages de Groundspeak a été initialisé lors d'une séance de "hack" dans le TGV sans accès à la doc, j'ai donc utilisé une méthode pas vraiment subtile!

Pour le script qui génère le rendu HTML, il date de plusieurs années et je ne l'ai pas encore remis sur l'établi du "refactoring".

Il faut aussi penser aus personnes non seulement devraient installer Python mais aussi télécharger des librairies avant de tester. Si tu sais packager le tout dans des binaires Windows et Mac, je suis preneur! Et pendant que tu y es, il y a aussi mon projet Geocaching-Animation :-)
Avatar du membre
TofLaBeuze
extra
extra
Contact :
Profil GC
Membre: : Premium
GPS : Samsung J5 + Etrex 30x
Localisation : Paris
Messages : 6722
Enregistré le : sam. 22 oct. 2011 12:35

Re: Journal de géocaching

jeu. 20 oct. 2016 13:28

GarenKreiz a écrit : Et pendant que tu y es, il y a aussi mon projet Geocaching-Animation :-)
Ah tiens d'ailleurs, est-ce que Geocaching-animation marche pour un seul pseudo et son GPX myfinds ?

Merci en tout cas à toi et aux autres copains de ce fil, vous nous apportez des outils vraiment sympas !
Image
Avatar du membre
Brunath_fr
regular
regular
Profil GC
Membre: : Premium
GPS : Oregon 450 / MGM / GeoFrance
Localisation : Yvelines
Messages : 195
Enregistré le : ven. 25 janv. 2013 15:22

Re: Journal de géocaching

jeu. 20 oct. 2016 13:55

Mais ça a l'air bien ça Geocaching-Animation, justement je cherchais à représenter l'animation de mes trouvailles au cours du temps.
Edit : je viens de trouve le lien (https://github.com/GarenKreiz/Geocaching-Animation" onclick="window.open(this.href);return false;), je testerai ça aussi prochainement :)
Avatar du membre
GarenKreiz
regular
regular
Contact :
Profil GC
Membre: : Premium
GPS : eTrex - Galaxy
Localisation : environs de Rennes, Bretagne
Messages : 184
Enregistré le : dim. 21 oct. 2012 10:32

Re: Journal de géocaching

jeu. 20 oct. 2016 14:17

TofLaBeuze a écrit : est-ce que Geocaching-animation marche pour un seul pseudo et son GPX myfinds ?
A priori oui sachant qu'il génère une image par jour depuis le printemps 2001. Certains joueurs risquent d'attendre longtemps pour voir les premiers points s'allumer et seuls les joueurs les plus stakhanovistes pourront faire apparaître la silhouette de la métropole (en faisant un filtrage sur les caches françaises).

En utilisant les paramètres pour générer les frontières et le trait de côte, le rendu devrait être plus sympa.

Code : Tout sélectionner

python generateAnimation.py \
            -f Cote_Bretagne.gpx -f Cote_Atlantique.gpx -f Cote_Manche.gpx -f Cote_Mediterrannee.gpx \
            -f Frontiere_Sud.gpx -f Frontiere_Est.gpx \
            my_finds.gpx
Avatar du membre
driquet
regular
regular
Profil GC
Membre: : Premium
GPS : Garmin Oregon 450
Localisation : Lille
Messages : 316
Enregistré le : mar. 9 juil. 2013 09:22

Re: Journal de géocaching

jeu. 20 oct. 2016 14:32

Il me semble que py2app package tout bien ce qu'il faut, mais je me mettrais pas ma main à couper.
Ces gens qui utilisent des technos obscures … Windows … :-)

Pour le script d'animation, merci pour le partage :-)
J'en avais implémentais un pour le fun pour les caches du Nord. Démo par ici : http://nord-geocaching.fr/evolution-du- ... alais.html" onclick="window.open(this.href);return false;
J'ai encore le script dans un coin, il faudrait que je regarde, mais j'ai également eu le souci de fichier GPX trop gros. De mémoire, j'ai patché la librairie qui lit les xml pour agrandir les buffers.

Merci pour les partages en tout cas !
Avatar du membre
TofLaBeuze
extra
extra
Contact :
Profil GC
Membre: : Premium
GPS : Samsung J5 + Etrex 30x
Localisation : Paris
Messages : 6722
Enregistré le : sam. 22 oct. 2011 12:35

Re: Journal de géocaching

sam. 22 oct. 2016 16:07

Garenkreiz, ton script "journal geocaching" ne s'exécute pas bien chez moi à cause des formats de dates. Quel format as-tu dans tes préférences sur geocaching.com ?
Image
Avatar du membre
GarenKreiz
regular
regular
Contact :
Profil GC
Membre: : Premium
GPS : eTrex - Galaxy
Localisation : environs de Rennes, Bretagne
Messages : 184
Enregistré le : dim. 21 oct. 2012 10:32

Re: Journal de géocaching

sam. 22 oct. 2016 23:19

TofLaBeuze a écrit :...Quel format as-tu dans tes préférences sur geocaching.com ?
J'utilise actuellement 2016/10/22. Le script accepte aussi 22/10/2016 mais dans ce cas les dates sont mal triées :|

Merci de m'indiquer les formats à utiliser.
Avatar du membre
TofLaBeuze
extra
extra
Contact :
Profil GC
Membre: : Premium
GPS : Samsung J5 + Etrex 30x
Localisation : Paris
Messages : 6722
Enregistré le : sam. 22 oct. 2011 12:35

Re: Journal de géocaching

dim. 23 oct. 2016 11:38

Il vaut mieux que tu indiques dans le README dans quel format se mettre, car dans la configuration il y en a beaucoup de très différents, certains fonctionnant avec ton appel à la fonction split('/'), d'autres non.

J'ai eu aussi un plantage avec les logs de type "Post reviewer note", mais pas creusé où est le problème.

Merci en tout cas pour ce script !
Image
Avatar du membre
GarenKreiz
regular
regular
Contact :
Profil GC
Membre: : Premium
GPS : eTrex - Galaxy
Localisation : environs de Rennes, Bretagne
Messages : 184
Enregistré le : dim. 21 oct. 2012 10:32

Re: Journal de géocaching

lun. 24 oct. 2016 14:15

J'ai poussé sur GitHub des modifications faites pour essayer de supporter les formats de date numérique proposés par Groundspeak (sauf les plus tordus du genre mm/dd/aa, soit mois / jour / deux derniers chiffres de l'année). Fichier README modifié en conséquence pour avertir les utilisateurs potentiels.

Pour les logs de type "Post reviewer note", je n'en ai pas dans mon historique et je ne peux donc pas modifier le programme pour les analyser correctement. Si quelqu'un peut m'envoyer un fichier HTML correspondant, je pourrais les prendre en compte.
Avatar du membre
GarenKreiz
regular
regular
Contact :
Profil GC
Membre: : Premium
GPS : eTrex - Galaxy
Localisation : environs de Rennes, Bretagne
Messages : 184
Enregistré le : dim. 21 oct. 2012 10:32

Re: Journal de géocaching

ven. 28 oct. 2016 13:00

Nouvelle version du programme publiée 1.1.0.

En suivant le bon conseil de driquet, j'ai généré une version binaire pour Windows 64bits avec py2exe. Pour les utilisateurs Mac OS X, il faut faire la même chose avec py2app.

Retourner vers « Atelier »

Aller à ...

Annuaire

annuaire geocaching

Éditeur HTML

editeur HTML

 

Au total il y a 4 utilisateurs en ligne : 1 enregistré, 0 invisible et 3 invités
Membres : Bing [Bot]
Le record du nombre d’utilisateurs en ligne est de 607, le lun. 20 janv. 2020 20:53
94559 messages
7391 sujets
5306 membres
Le membre enregistré le plus récent est Axelinya.
Pas d’anniversaire à fêter aujourd’hui