filyb.info

jeudi 9 avril 2009

Scripts pour le Meizu M6 Miniplayer

Le Meizu Miniplayer est un baladeur mp3/Ogg Vorbis plutôt intéressant, mais le logiciel interne souffre quand même de quelques manques, voici deux scripts Python pour les compenser :

  • add2pls.py permet d'ajouter une chanson à une liste de lecture déjà enregistrée. Usage : $ ./add2pls.py chemin/de/la/playlist.m3u chemin/de/la/chanson.ogg
  • normalizecovers.py permet de renommer les images de pochettes d'album pour qu'elles soient reconnues par le lecteur. Il gère les jaquettes telles que sauvegardées par la plupart des logiciel de lecture (cover.jpg, cover.png, album.jpg ou album.png), et nécessite que la musique soit organisée selon l'arborescence music/.../{Album}/{chansons}. Usage : $ ./normalizecovers.py [/point/de/montage/du/lecteur]

Le troisième fichier, meizu.py, contient les fonctions nécessaires aux deux autres. Les scripts fonctionnent pour l'instant sur les plateformes POSIX, toute contribution pour d'autre plateforme est bienvenue. Il est plus simple de copier les scripts dans un répertoire du lecteur (par exemple bin/), outre le fait qu'ils sont ainsi disponibles partout où l'on connecte le lecteur, cela leurs permet de détecter automatiquement le point de montage du lecteur.

Les scripts dépendent des programmes suivant : Python, python-fstab, Python Imaging Librairy. Pour les installer sous Ubuntu : $ sudo apt-get install python python-fstab python-imaging

samedi 6 septembre 2008

Présentation de Crunchy à Toulibre le 10 septembre 2008

Je présenterai Crunchy à Toulibre (Toulouse), le dix septembre (mercredi prochain).

Crunchy, c’est le logiciel qui permet d’intégrer l’interpréteur Python dans un tutoriel HTML, et sur lequel j’ai réalisé mon Google Summer of Code.

Cette présentation sera suivit par une autre de Thomas Petazzoni, sur Openmoko, le système libre pour téléphones portables. Thomas possède un modèle de Neo FreeRunner, le premier téléphone qui tourne sous ce système.

mardi 2 septembre 2008

Et un second pour la route

J’ai écris un billet en août, v’là que j’en fais deux le 1er septembre. (Ah non, mince, on est déjà le deux.)

Ceci pour signaler (ça le mérite) que Gilles Fabio a ouvert un nouveau blog, qui roule grâce à Django avec une application qu’il a codé pour l’occasion, Cockatoo. Bref, ça promet d’être que du bon, jetez-vous sur le fil de syndication.

Et sinon… des photos de Normandie, ainsi que dans le carnet photos.

$ fortune
Le café est un breuvage qui fait dormir,
quand on n'en prend pas. 
	-+- Alphonse Allais -+-

Maintenant, il est temps d’aller écrire.

mercredi 9 juillet 2008

SoC 2008: Croquant 1.0

I'm proud to announce the release of Croquant 1.0!

This is the first release of Croquant, the set of MoinMoin plugins for an integration with Crunchy. Right now, Croquant consists in:

  • A parser to embed python code, with VLAM, to add interpreters, editors, doctests, etc in Crunchy
  • Three macros to add some forms and links in Crunchy
  • A MoinMoin theme, which looks like python.org and is designed to be used with Crunchy (by example, the edition link in Crunchy will open the edition page outside Crunchy). An option can force the theme to behave exactly like the one of the Python wiki

You can already download Croquant 1.0.

jeudi 26 juin 2008

Astuce python : de l'autocomplétion dans l'interpréteur

N'avez-vous jamais rêvé de pouvoir obtenir d'une simple tabulation la liste des méthodes d'une classe ? De ne pas avoir à réécrire cette variable au nom tellement explicite qu'il en est trop long ? Heureusement, il est possible d'activer une autocomplétion très efficace dans notre interpréteur préféré  ! (Comment ai-je pu passer à côté jusqu'à aujourd'hui ?)

Cette astuce se base sur l'utilisation de GNU readline, et ne fonctionne donc pas sous Microsoft Windows.

Pour la mettre en place, il suffit de créer un fichier, nommé par exemple ~/.pythonrc qui contiendra des commandes exécutées au démarrage de l'interpréteur (uniquement en mode interactif), et d'y insérer le contenu suivant (provenant de la documentation du module rlompleter) :

(edit : voici une version modifiée pour permettre en plus d'indenter le code avec quatre espaces, source en commentaire.)

try:
    import readline
except ImportError:
    print "Module readline not available."
else:
    import rlcompleter

    class TabCompleter(rlcompleter.Completer):
        """Completer that supports indenting"""
        def complete(self, text, state):
            if not text:
                return ('    ', None)[state]
            else:
                return rlcompleter.Completer.complete(self, text, state)
    readline.set_completer(TabCompleter().complete)
    readline.parse_and_bind("tab: complete")

Il faut ensuite expliquer à l'interpréteur python de lire ce fichier à son démarrage. Cela se fait en définissant la variable d'environnement PYTHONSTARTUP, par exemple en insérant dans le fichier ~/.bashrc la ligne suivante :

export PYTHONSTARTUP="$HOME/.pythonrc"

Relancez bash, ouvrez python, et appréciez !

- page 1 de 3