[R] Mozilla ftp addons parser

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
ConnorMcLeod
Niveau 2
Niveau 2
Messages : 17
Enregistré le : dim. 24 nov. 2013 19:31
Status : Hors ligne

[R] Mozilla ftp addons parser

#1

Message par ConnorMcLeod »

Bonjour,

Je souhaiterais un script qui permettrait d'avoir une liste des addons contenus sur le ftp de mozilla :

http://ftp.mozilla.org/pub/mozilla.org/addons/

Le contenu de cette page se compose de dossiers portant un numéro, chaque dossier, s'il n'est pas vide, contient un addon dans ses différentes versions officielles et beta.
Le résultat recherché est de remplacer ces numeros par le nom de l'addon, ou alors si c'est pas dans le navigateur de créer par exemple un menu déroulant avec les noms des addons et que la sélection fasse ouvrir le dossier correspondant dans le navigateur.

Merci.
Modifié en dernier par ConnorMcLeod le dim. 15 déc. 2013 12:57, modifié 1 fois.
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Mozilla ftp addons parser

#2

Message par mikell »

Hum
Lourde tâche
Sur ce ftp lister le contenu des 500 premiers dossiers prend ~ 7 minutes
Or il en contient 20514 , ça fait juste 4 petites heures quoi :mrgreen:
Enfin si tu t'en sens, voilà le code (bridé aux 50 premiers dossiers, ça ne prend qu'une minute)
► Afficher le texte
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
ConnorMcLeod
Niveau 2
Niveau 2
Messages : 17
Enregistré le : dim. 24 nov. 2013 19:31
Status : Hors ligne

Re: [..] Mozilla ftp addons parser

#3

Message par ConnorMcLeod »

Merci, tu pourrais faire en sorte de ne rien écrire dans result.txt quand le dossier est vide ?
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Mozilla ftp addons parser

#4

Message par mikell »

Il suffit de déplacer cette ligne qui est au début de la boucle For

Code : Tout sélectionner

   $result &= @crlf & $res[$i] & @crlf
pour la mettre juste après le Wend
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11830
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Mozilla ftp addons parser

#5

Message par Tlem »

Bonsoir.
Pas sur que ce soit mieux, mais voici une autre version sur laquelle je travaillais avant d'aller au ciné. 8)
► Afficher le texte
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Mozilla ftp addons parser

#6

Message par mikell »

Thierry, ça marche pas (chez moi du moins)
_FTP_ListToArray aurait été l'idéal mais macache, ça veut pas, je sais pas pourquoi :(
Au lieu de retourner la liste de dossiers
4/, 5/, 6/, etc
ça retourne une liste de nombres
10, 100, 1000, etc
et donc la lecture des dossiers renvoie ensuite un résultat farfelu
C'est pour ça que je suis passé par XMLHTTP pour récupérer cette foutue liste
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11830
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Mozilla ftp addons parser

#7

Message par Tlem »

Bonsoir Michel, en ce qui me concerne, j'ai le même retour que FileZilla !
Idéalement, il aurait fallu que le fichier /pub/ls-lR ou /pub/ls-lR.gz soit à jour, cela aurait permit de faire le traitement en local ...

Maintenant, il est vrais que je n'avais pas vu le lien entre les nombres affichés sur la page Web et les nombres renvoyés par un client FTP ... Cette conversion me semble être une manipulation/salade interne. Si tu rentre l'adresse ftp://ftp.mozilla.org/pub/mozilla.org/addons/10000/ tu tombe bel et bien sur le véritable dossier FTP de l'addon xsidebar_for_thunderbird ...

ConnorMcLeod a écrit le lien avec le préfixe http:// mais en réalité, la liste des dossiers par véritable lien FTP est là : ftp://ftp.mozilla.org/pub/mozilla.org/addons/
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Mozilla ftp addons parser

#8

Message par mikell »

Argh
Douloureuse mise en évidence de mon manque de pratique des ftp
Pourquoi diable ces dossiers ont 2 noms ?!?
Enfin bon
► Afficher le texte
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
ConnorMcLeod
Niveau 2
Niveau 2
Messages : 17
Enregistré le : dim. 24 nov. 2013 19:31
Status : Hors ligne

Re: [..] Mozilla ftp addons parser

#9

Message par ConnorMcLeod »

Merci ça me fait une super base pour m'exercer :)

Par contre le regex pour enlever les versions ne semble pas fonctionner partout, mais j'ai plus l'exemple sous les yeux et le script est en train de tourner pour 1 bonne heure à mon avis, mais bon c'est vraiment un cas sur je sais pas combien donc c'est pas important.

Sinon j'ai l'impression que les n° de dossiers sont les mêmes qu'on entre ftp:// ou http://, c'est juste qu'ils ne sont pas affichés dans le même ordre dans le navigateur, mais je peux me tromper.

Encore merci, ça va me servir au travail, l'installation d'addons est bloquée, enfin pas l'installation en elle-même mais les sites (certains en tout cas) de téléchargement (qui diffèrent du ftp), avec ça le problème est résolu !
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Mozilla ftp addons parser

#10

Message par mikell »

Oui, dans 99% des cas la structure du nom du fichier est :
nom, tiret, chiffre, point, rechiffre, repoint, ...etc.. extension
Donc le regex élimine tout ce qui se trouve après un bloc tiret+un ou plusieurs chiffres+point - bloc inclus -( pour ignorer les tirets pouvant faire partie du nom)
Mais dans certains cas c'est un underscore qui est utilisé au lieu du tiret et j'ai préféré ne pas courir de risque, mais tu pourrais tenter

Code : Tout sélectionner

StringRegExpReplace($name, '([\-_]\d+\..+)', "")
point de vue académique bien sûr :mrgreen:

Et non, ce ne sont pas les mêmes numéros de dossier rangés dans le désordre
Edit : douloureuse mise en évidence de mon manque de pratique des ftp (bis)

Sinon, la boucle While ralentit un peu le processus mais ça permet de récupérer le nom le plus récent de l'addon (qui est souvent différent du nom de son ancienne version)

Si le sujet est résolu pense à mettre [R] dans le titre de ton 1er post
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11830
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Mozilla ftp addons parser

#11

Message par Tlem »

mikell a écrit :Pourquoi diable ces dossiers ont 2 noms ?!?
Cela me tracassait un peux, donc j'ai regardé de plus près et j'ai constaté que tout simplement la page html (par le http://) affichait les numéros par ordre croissant alors que le lien par FTP affiche les dossiers comme le fait Windows ...

Il a donc 1 seul numéro de dossier. Il ne sont tout simplement pas affichés de la même manière. :mrgreen:


Edit : Arrgh grillé pendent mes tests. :lol:
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
ConnorMcLeod
Niveau 2
Niveau 2
Messages : 17
Enregistré le : dim. 24 nov. 2013 19:31
Status : Hors ligne

Re: [..] Mozilla ftp addons parser

#12

Message par ConnorMcLeod »

Oui on va dire que c'est résolu j'ai matière à bidouiller et je vais tenter de faire un truc un peu plus complet même si c'est pas franchement utile, mais ça m'exercera :)


Donc on est d'accord que les noms de dossiers sont les mêmes en ftp et en http ? (mikell semble dire le contraire).


Merci encore.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11830
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Mozilla ftp addons parser

#13

Message par Tlem »

ConnorMcLeod a écrit :Donc on est d'accord que les noms de dossiers sont les mêmes en ftp et en http ? (mikell semble dire le contraire).
Perso, je dit oui. J'ai testé un panel de 10 dossiers et en ce qui me concerne j'avais les mêmes fichiers dedans.

De plus, en comparant la liste des 10 premiers dossier du http:// avec la liste des dossiers du ftp:// on retrouve les mêmes éléments. Idem dans l'autre sens.

Je suis donc intimement convaincu que tous les dossiers sont identiques mais présentés différemment (et cela me parait absolument logique). ^^

De toute façons, pour comparer le nombre de dossiers, il suffirait de traiter le code source de la page web en http et celui en ftp pour constater que leur nombre est identique. ;)
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Répondre