TclZip

 

TclZip est un package pour tcl qui fournit les commande Zip et unZip en utilisant la librairie zlib 1.1 de Pascal Scheffers avec zipper de la critlib pour compresser et vfs::zip pour décompresser. Tclkit incluant zlib et vfs::zip en standard, vous pourrez donc facilement utiliser TclZip dans votre propre starkit / starpack. Sinon, les librairies binaires nécessaires sont inclues pour fournir de la même chose pour tclsh.

Utilisation :

Charger le paquet :

 package require TclZip

Pour compresser un seul fichier :

 tclzip::Zip fichier

Pour compresser un répertoire (et tous ses éventuels sous-répertoires) :

 tclzip::Zip répertoire

Pour décompresser un fichier .zip :

 tclzip::unZip file.zip

Téléchargements :


AM Je l'ai testé sous Windows XP et le paquet marche bien, sauf pour quelques étranges erreurs:

   Répertoire original:                Contenu du fichier "zip":
   -------------------                 ------------------------
   zlib11.dll                          zlib11.dll
   zlib11.zip                          zlib11.zip
   worm_h_o.txt                        worm_h_o.txt
   worm_h_o.zip                        worm_h_o.zip/   <-- répertoire!
                                                    worm_h_o.txt

Très étrange!

Kroc : Après vérification avec Arjen, il s'est avéré que ces problèmes n'apparaissent que lorsqu'on essaie de (dé)compresser des fichiers zip actuellement en cours d'utilisation dans le même interprêteur tcl (c'est à dire monté avec vfs::zip). Dans le première cas (décompresser le meme fichier deux fois) la deuxième décompression échoue, car à la fin de la première le zip na pas pu être démonté (puisqu'en cours d'utilisation). Dans le deuxième cas, worm_h_o.zip étant monté lors de la compression, c'est sous forme de répertoire (et non de fichier) que vfs::zip le voyait à cet instant précis.


Catégorie Paquet