title: C'est l'été, profitez-en pour dégraisser votre OPML ! slug: cest-lete-profitez-en-pour-degraisser-votre-opml date: 2005-07-26 15:01:01 type: post vignette: contextual_title1: ★ L'artiste qui sommeille en chaque geek contextual_url1: 20080613-artiste-qui-sommeille-en-chaque-geek contextual_title2: L'intelligence économique (veille technologique) en pratique contextual_url2: 20070609-l-intelligence-economique-veillle-technologique-en-pratique contextual_title3: Pour en finir avec les « Mot de passe oublié ? » contextual_url3: 20060802-pour-en-finir-avec-les-mot-de-passe-oublie

Réalisé au départ pour [NikO], ce script permet de supprimer les fils RSS en double contenus dans un fichier OPML ce qui arrive fréquemment lorsque l'on dépasse les 1000 fils paraît-il (à moins d'utiliser un aggrégateur qui le détecte bien entendu). Je ne sais pas si ça va servir à plus de trois personnes, vos idées sont les bienvenues et me motiveront pour continuer, n'hésitez pas à demander des fonctionnalités.

Qu'est ce que c'est tout ça ?

Bon a priori si vous ne savez pas ce que c'est, il est probable que ce programme ne vous servira pas à grand chose. Un fil RSS est un fichier généré à chaque mise à jour d'un site dans un format adapté permettant à un utilisateur de le télécharger régulièrement de façon à être tenu au courant de l'évolution du site en question. Il existe des programmes appelés aggrégateurs permettant d'exploiter ces fils, une description plus poussée de la technologie sera disponible prochainement sur ce site. Ces aggrégateurs génèrent des fichiers OPML (bien souvent de sauvegarde) contenant l'ensemble des fils auquels vous êtes abonnés. Le script proposé ici permet de supprimer les fils que vous avez inclus en double dans votre aggrégateur.

Utilisation

Pour l'instant ça se passe en ligne de commande, il suffit de taper après avoir rendu le fichier opml2uniq.py executable :

./opml2uniq.py -i <votre-ficher>.opml

Pour obtenir la totalité des options, l'inévitable option -h est à votre service.

La version 1.1 du script est sous licence GPL et librement téléchargeable.

Développement

Concrêtement, ce script ne va pas servir à grand monde je pense mais c'était aussi une façon de progresser en python et d'avoir sous la main un template pour des petits projets rapides. J'ai essayé de respecter les bonnes pratiques d'usage pour développer en python, n'hésitez pas à lire la présentation donnée aux RMLL à ce sujet. Concernant le code et sa lisibilité justement, n'hésitez pas à critiquer, je suis encore débutant et ne demande qu'à progresser ;-).

En fait, l'étape suivante du script serait de réaliser une sorte d'OPML manager graphique qui pourrait ensuite évoluer vers un aggrégateur (en cours de réflexion/développement car tous ceux que j'ai pu tester ne m'ont pas convenu). Je me suis donc lancé à la fois dans Gtk et dans DOM (oui pour l'instant le script n'utilise pas le module XML) et j'ai inévitablement été attiré par la présentation de python et XML donnée aux RMLL et là je dois dire que j'ai été choqué par les captures montrées, je crois vraiment qu'il est temps de développer des outils qui soient à la fois fonctionnels ET esthétiques ! Comment passer toute sa journée sur :

Capture emacs

alors qu'il est possible de travailler avec :

Capture scite

Loin de moi l'idée de lancer un énième troll vi/emacs/scite mais ça ne vous choque pas la laideur d'emacs (ou alors je ne suis pas encore assez barbu :D) ? Et puisque nous en sommes à ce type de considérations, quel est votre outil de développement en python ? Vous l'aurez compris en ce moment j'utilise scite qui une fois bien configuré s'avère très puissant.