Imprimer une liste d'itinéraires ?

Bonjour, est il possible après une recherche avec filtres d’imprimer une liste des résultats ? Ou de l’enregistrer ?

Oui, I’m suffit d’imprimer la page. Mais je ne suis pas sûr que le résultat soit satisfaisant, il n’y a peut-être pas eu bcp de travail sur l’impression des listes.

Tu mets l’adresse web dans tes bookmarks : elle est mise à jour avec les critères que tu renseignes, tu pourras donc retrouver les résultats en retournant sur cette adresse.

Merci Bubu. déjà c’est bien vu de pouvoir enregistrer la recherche.
En esperant pouvoir faire un print qui tienne la route un jour peut être parce que quand on est plusieurs a discuter de projets le papier c’est quand même autrement plus pratique qu’un écran :wink:

Après un essai rapide, il me semble que seulement les x premières lignes qui tiennent sur le format d’impression sont imprimées (nb lignes différents en format paysage / portrait) et de toute façon, pas plus d’une page de résultats n’est imprimée.
Si ce n’est pas urgentissime, je peux essayer de regarder.

Tu cherches à obtenir quel format ? Une liste du genre

Roc des Bœufs : Arête S (D, 5c > 4c obl.)
Arcalod : Arête N (D…)

Ou alors à avoir chaque fois le détail de l’itinéraire ?

Une liste telle que celle que tu décris m’irait très bien.

Est-ce que ça conviendrait?
Le détail des filtres ne s’affiche que s’ils sont visibles.
Il reste plein de bugs à corriger si on veut également que les listes de sorties s’affichent correctement.

Nota : ça n’imprime que la première page de résultats, limitées à 30 lignes. Je ne saurais pas imprimer tous les résultats si quelqu’un n’ajoute pas la possibilité d’afficher tous les résultats sur la même page (@b_b)

Sous la forme d’un tableur Calc (LibreOffice), grâce à une macro, ça conviendrait ?

Ça commence à prendre forme. On copie-colle l’URL de la recherche d’itinéraires, et ça sort une liste dans le tableur. Possibilité, une fois qu’elle est établie, d’ajouter des colonnes, de compléter…

Le tableur est à télécharger ici:
https://framagit.org/Rupicapra_rupicapra/API-Camptocamp.org/raw/master/Dist/Get_C2C_routes.ods
Une brève documentation ici
Et le code pour les curieux.

Pour le moment, toutes les « traductions » ne sont pas gérées, à ajouter au fur et à mesure.
Je suis en train d’ajouter le support pour le ski de rando.

Autre point, j’ai pris le parti de rassembler le préfixe au titre (généralement le nom du sommet) et le titre en un seul bloc, mais on peut les séparer en deux colonnes, si ça semble plus pertinent.

1 Like

C’est un bon début. Bcp très merci bien l’ami :grinning:
Ceci dit avec les 250 000 euros de la V6 C2C doit tres largement avoir des serveurs dignes de la Nasa et vouloir ne pas les surchager et donc se limiter à la 1ere page fait perdre une grande partie de l’interet de cette macro. Surtout que les filtres natifs étant ce qu’ils sont et les possibilités de tris quasi inexistantes il est presque impossible de récuperer ce qui nous interesse le plus en 1ere page…

Je ne ferai pas de commentaire sur ce que tu as l’air de penser de la V6, la manière de l’exprimer est pitoyable…

Cependant, pour les filtres, en les utilisant correctement, il n’y a pas de raisons que tu n’arrives pas à te limiter à 30 résultats. (zoom plus précis, quelques critères type D+ ou difficultés…)
Si ça apparaît être trop peu, il doit être possible de charger une ou deux pages supplémentaires (faut retrouver les paramètres correspondants).

Nouvelle mouture:


Adding support for more query results + other

Macro can now get up to 60 results.
Titles are formated as hyperlinks to guidebook
Improved ODS creator

Outre la possibilité de spécifier un nombre plus important de résultats à récupérer, la case « Titre » de chaque résultat comporte un hyperlien vers le topo correspondant (Ctrl-clic pour suivre le lien).

@Courgette / @b_b À votre avis, quelle serait la limite max « raisonnable » de résultats à demander à l’API ?

Tu peux monter à 120 ou 240 sans problème.
Tant que ce n’est pas par défaut, c’est bon : ça concernera un petit nb des utilisations des query à l’API, et donc ça ne multipliera pas par 8 la charge de l’API.
Le principe est que les utilisateurs regardent principalement les 10 premiers résultats, comme sur google, qui affiche 10 résultats par page. Donc il est inutile de charger le serveur en affichant 1000 résultats par défaut. Par contre sur demande on peut en afficher plus, mais ça concerne qu’une petite minorité des utilisations.

Ok, merci. J’ajouterai la possibilité de monter à 120 dans un premier temps, à voir à l’usage si ça vaut le coup de la porter à 240.

@Bubu : j’essaye une PR pour la partie modification css impression au retour du WE (mercredi soir)

Avec Libreoffice le script ne marche ni sous windows 7 pro, ni sous Ubuntu. Avec Windows/Excel il ne marche pas non plus.

J’ai vu ça la semaine dernière sur le PC Windows du taf. En fait il semblerait (l’erreur que j’ai eu en tous cas…) qu’il ne trouve pas le module requests nécessaire pour faire la requête à l’API.
Je suis en train de réfléchir aux solutions possibles, à savoir packager ce fameux module dans le document LO, soit utiliser le module urllib de la bibliothèque standard Python (donc inclus dès l’installation), mais qui est pas mal plus lent.

En attendant, avec Ubuntu, installe les paquets python-requests & python3-requests (sudo apt install python-requests python3-requests. Normalement, ça devrait solutionner tes soucis.

Normal. Les macros LO Basic sont (il me semble) incompatibles avec celles d’Excel. Quant à Python, Excel ne le supporte pas.

Aie malgré l’installation des paquets Ubuntu dit tjs non.

Ça y est, je vois d’où vient l’erreur.
Par défaut, sur les systèmes dérivés de Debian (je ne sais pas comment ça se passe pour les RedHat & autres…), l’installation de LO n’installe pas tous les providers de scripts (d’autres langages que Python & Basic sont disponibles pour créer des macros), seulement le Basic.

Pour l’installer, il faut faire sudo apt install libreoffice-script-provider-python.
Normalement, le langage Python devrait être pris en charge après ça.