[R] Mozilla ftp addons parser
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
- ConnorMcLeod
- Niveau 2

- Messages : 17
- Enregistré le : dim. 24 nov. 2013 19:31
- Status : Hors ligne
[R] Mozilla ftp addons parser
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.
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.
- mikell
- Spammer !

- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: [..] Mozilla ftp addons parser
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
Enfin si tu t'en sens, voilà le code (bridé aux 50 premiers dossiers, ça ne prend qu'une minute)
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
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 )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
- ConnorMcLeod
- Niveau 2

- Messages : 17
- Enregistré le : dim. 24 nov. 2013 19:31
- Status : Hors ligne
Re: [..] Mozilla ftp addons parser
Merci, tu pourrais faire en sorte de ne rien écrire dans result.txt quand le dossier est vide ?
- mikell
- Spammer !

- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: [..] Mozilla ftp addons parser
Il suffit de déplacer cette ligne qui est au début de la boucle For pour la mettre juste après le Wend
Code : Tout sélectionner
$result &= @crlf & $res[$i] & @crlf" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
- Tlem
- Site Admin

- Messages : 11830
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [..] Mozilla ftp addons parser
Bonsoir.
Pas sur que ce soit mieux, mais voici une autre version sur laquelle je travaillais avant d'aller au ciné.
Pas sur que ce soit mieux, mais voici une autre version sur laquelle je travaillais avant d'aller au ciné.
► 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é".
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é".
- mikell
- Spammer !

- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: [..] Mozilla ftp addons parser
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
_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 )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
- Tlem
- Site Admin

- Messages : 11830
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [..] Mozilla ftp addons parser
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/
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é".
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é".
- mikell
- Spammer !

- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: [..] Mozilla ftp addons parser
Argh
Douloureuse mise en évidence de mon manque de pratique des ftp
Pourquoi diable ces dossiers ont 2 noms ?!?
Enfin bon
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 )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
- ConnorMcLeod
- Niveau 2

- Messages : 17
- Enregistré le : dim. 24 nov. 2013 19:31
- Status : Hors ligne
Re: [..] Mozilla ftp addons parser
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 !
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 !
- mikell
- Spammer !

- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: [..] Mozilla ftp addons parser
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 tenterpoint de vue académique bien sûr
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
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+\..+)', "")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 )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
- Tlem
- Site Admin

- Messages : 11830
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [..] Mozilla ftp addons parser
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 ...mikell a écrit :Pourquoi diable ces dossiers ont 2 noms ?!?
Il a donc 1 seul numéro de dossier. Il ne sont tout simplement pas affichés de la même manière.
Edit : Arrgh grillé pendent mes tests.
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é".
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é".
- ConnorMcLeod
- Niveau 2

- Messages : 17
- Enregistré le : dim. 24 nov. 2013 19:31
- Status : Hors ligne
Re: [..] Mozilla ftp addons parser
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.
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.
- Tlem
- Site Admin

- Messages : 11830
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [..] Mozilla ftp addons parser
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.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).
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é".
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é".
