• [^] # Re: libmagic

    Posté par (site web personnel) . En réponse au journal hachoir-metadata cherche des testeurs. Évalué à 3.

    La première version d'Hachoir utilisait libmagic mais malheureusement son binding Python n'est packagé que pour Debian, beaucoup de formats lui sont inconnus (système de fichier, données du jeu Worms2, et bien d'autres), et le mode --mime pour récupérer le type MIME n'est pas trop fiable.

    Petit à petit j'ai recodé libmagic pour les types non reconnus. Sur sur une suggestion de Julien, les parseurs ont gagné une méthode validate() qui permet de vérifier la validité d'un format, et un dictionnaire "tags" qui contient des informations pour aider le choix du parseur (extension du nom du fichier, taille minimale, types MIME). Dans la grande majorité des cas, le fichier porte la bonne extension, et donc le choix du bon parseur est immédiat. Une petite optimisation serait d'ajouter la signature du fichier (les N premiers octets : "BMP", "PK", "BZ2", "PNG", etc.).