pr0n dpt.
Reprenons notre tutorial de Pr0n Coll3ctor.
Pour etre un P.Coll serieux, il vous faut:
- Un acces a un serveur de News. i.e. Easynews, en nntp
- Un programme de tri, generant des csv , scansort, MTCM
- Le langage Python
- Un viewer (acdsee), ou pour X11/Gtk Pornview
Pr�ambule
Ce tutorial est tres centre sur l'utilisation de la ligne de commande. Je ne rentrerais pas dans un debat CLI / GUI, mais ecrire des scripts est plus simple quand on a l'habitude de la ligne de commande.
Historique:
J'ai commenc� a me connecter sur le Net via MSN, sur la Beta 2 win 95...
J'ai particip� au debug du client Usenet de ce qui ne s'appelait pas encore Outlook et pour le prouver j'ai un magnifique Tee-Shirt.
J'ai download� mon premier attachement moins de 20 minutes apres, depuis alt.binaries.pictures.centerfolds, un jpeg de Petra Verkaik par scanmaster.
Pour voir ce jpeg la procedure �tait la suivante.
1)sauvegarde de l'attachement dans un fichier texte
2)passage par le prompt DOS (!) dans uudecode.exe
Pas de support multi files, beaucoup plus courant a l'epoque pour cause de bande passante beaucoup plus limit�e.
J'ai vite decouvert que on pouvait sauvegarder le fichier attach� dans le lecteur de news de Netscape.
En passant a Linux fin 97, j'ai decouvert le scripting, apres quelque essai infructeux de VB.
un de mes premiers scripts Perl fut l'equivalent de scansort.exe, cas particulierement pedagogique de programmation:
lecture sequentielle de fichier , split des ligne, recherche dans un hash... copie de fichier, les tache Perlienne archetypale.
Heureuse surprise scansort passa en GPL et fut le premier programme dont je compilais le source. Je continuais toujours la chasse au jpeg a la main, et je me contentais de abp.suze & .repost a l'aide grep .
les choses evoluerent, je decouvris Pan et Python et decidais d'automatiser les choses integralemant.
Technique.
Les groups de alt.*.pictures respectent un certain protocole tacite.
Un fichier par article, dont le sujet comporte le nom du fichier, la collection et la taille du fichier une fois decod�.
La plupart des groupes poste les collection entiere et il existe des groupes dedi�s au repost, relativement epargn�s par le spam.
Les meta donn�es des collection sont compil�es dans des fichier textes disponibles a l'epoque chez McBluna. Divers programmes se serve des ces fihicers .csv pour verifier la validit� et la presence des fichiers, et generemnt des liste de fichiers present/absents ou incorrect. Scansort est un de ces programme. Sous Win32, j'utilisais MTCM, mais je n'etais pas encore illumin� par le Prompt.
J'ai decid� de me servir des listes generees, pour rechercher les fichiers dans les sujets des groupes Usenet, afin de ne downloader que ceux suceptible de contenir un fichier recherch�.
Une fois decod�s, je repasse un coup de scansort et je recr�e une nouvelle liste de recherche...
Le mouvement perpetuel de Pr0n :)
Boucherie/Triperie:
1) Ce que sort Scansort:
une liste de fichiers au sein d'un repertoire "missing_[nom_de_collection]_[nombre_de_fichiers].csv"
->glob() est ideal pour chercher ces fichiers.
Deux avantage a glob.glob():
il retourne les chemins complets, et evite l'utilisation des regexp.
je lis ligne � ligne, chaque fichier retourne par glob()
je splitte(',') les lignes et je prend le premiers element qui est le nom de fichier recherche.
je verifie si le nom du fichier est clef d'un hash(cf ci dessous)
Ce fameux Hash est un digest des groupes qui nous interessent.