[..] FTP : Récupération récursive

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
peuchere83
Niveau 5
Niveau 5
Messages : 169
Enregistré le : mer. 17 déc. 2008 10:50
Status : Hors ligne

[..] FTP : Récupération récursive

#1

Message par peuchere83 »

Bonjour à tous,

je cherche à réaliser une fonction qui me permettra de faire un télechargement de manière récursive.
Voici le code qui fonctionne en envoi que j'ai trouvé dans ftp_ex.au3 :
► Afficher le texte
Je cherche donc à faire la même chose mais dans l'autre sens (rapatriement).

Si quelqu'un car je n'arrive pas à gérer le cas ou le répertoire parent contient plusieurs sous répertoires.

Cordialement.
Modifié en dernier par peuchere83 le mer. 28 avr. 2010 12:05, modifié 1 fois.
Tous biens que tu possèdes est un souci qui te retient.
Skippy est là pour t'enlever tous tes soucis.
Avatar du membre
peuchere83
Niveau 5
Niveau 5
Messages : 169
Enregistré le : mer. 17 déc. 2008 10:50
Status : Hors ligne

Re: [..] FTP : Récupération récursive

#2

Message par peuchere83 »

Je me permets de relancer la conversation sur ce sujet.

Personne n'a d'idées ?
Tous biens que tu possèdes est un souci qui te retient.
Skippy est là pour t'enlever tous tes soucis.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] FTP : Récupération récursive

#3

Message par Tlem »

Si vous parlez de cet UDF : http://www.autoitscript.com/forum/index ... t&p=622079
je vois au moins deux fonctions qui devraient vous être d'un grand secours :
  • _FTPFilesListToArray
    _FTPFilesListToArrayEx
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
peuchere83
Niveau 5
Niveau 5
Messages : 169
Enregistré le : mer. 17 déc. 2008 10:50
Status : Hors ligne

Re: [..] FTP : Récupération récursive

#4

Message par peuchere83 »

Merci Tlem,

j'ai essayé tant bien que mal d'essayer de faire quelque chose mais c'est catastrophique !!!

Je m'explique : je cherche à rapatrier de manière récursive un répertoire complet car j'ai plusieurs cascade de répertoire.
Voici le code pour l'instant erroné que j'ai réalisé :
► Afficher le texte
En résumé : La récursivité est dans les choux.

Si quelqu'un a une idée ou une suggestion pour me conseiller pour la réalisation de ce script, c'est avec une joie non dissimulée que je l'accepte volontiers :lol:
Tous biens que tu possèdes est un souci qui te retient.
Skippy est là pour t'enlever tous tes soucis.
Adenadels
Niveau 2
Niveau 2
Messages : 15
Enregistré le : dim. 24 mai 2009 11:22
Localisation : Strasbourg
Status : Hors ligne

Re: [..] FTP : Récupération récursive

#5

Message par Adenadels »

J'avais le même problème, mais en HTTP (et c'est ici qu'on m'avait aidé à trouver la solution)
Mais le principe de la boucle ne change pas... il suffit de l'adapter en FTP.

Je te laisse mon code si ça peut t'aider.
► Afficher le texte
Modifié en dernier par Adenadels le mer. 28 avr. 2010 06:38, modifié 1 fois.
Salutations
Jean-Luc
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] FTP : Récupération récursive

#6

Message par Tlem »

Messieurs, pourriez-vous rajouter la balise de code dans vos messages respectifs pour plus de lisibilité.
Voir ici pour plus de détails : http://www.autoitscript.fr/forum/viewto ... 896#p24896

Merci.
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
peuchere83
Niveau 5
Niveau 5
Messages : 169
Enregistré le : mer. 17 déc. 2008 10:50
Status : Hors ligne

Re: [..] FTP : Récupération récursive

#7

Message par peuchere83 »

Merci pour la réponse Adenadels. Je vais regarder cela des ce matin.

Tlem, je n'ai pas utilisé la balise code pour ne pas avoir un post à rallonge, mais dorénavant je l'utiliserai promis :wink:
Tous biens que tu possèdes est un souci qui te retient.
Skippy est là pour t'enlever tous tes soucis.
Avatar du membre
peuchere83
Niveau 5
Niveau 5
Messages : 169
Enregistré le : mer. 17 déc. 2008 10:50
Status : Hors ligne

Re: [..] FTP : Récupération récursive

#8

Message par peuchere83 »

Bonjour à tous,

Voila pour l'instant où j'en suis.
Mais je n'arrive toujours pas à faire fonctionner la récursivité : systématiquement _FTP_FindFileFirst me retourne lors du rappel de la fonction "ScanFolder", qu'il n'y a aucun élément or il y en a !!!
► Afficher le texte
Je ne comprends pas où se trouve le problème.

Si quelqu'un a une idée, je suis preneur.
Par avance merci.
Modifié en dernier par peuchere83 le mer. 28 avr. 2010 11:53, modifié 1 fois.
Tous biens que tu possèdes est un souci qui te retient.
Skippy est là pour t'enlever tous tes soucis.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] FTP : Récupération récursive

#9

Message par Tlem »

Comme je l'indique dans le lien que je vous donne, vous pouvez mixer la balise Spoiler et la balise code de façons à ne pas avoir un message à rallonge. ;)
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
peuchere83
Niveau 5
Niveau 5
Messages : 169
Enregistré le : mer. 17 déc. 2008 10:50
Status : Hors ligne

Re: [..] FTP : Récupération récursive

#10

Message par peuchere83 »

Ca y est Tlem, j'ai fait les modifs sur tous mes posts.

Par contre cela ne corrige pas mon problème :P
Tous biens que tu possèdes est un souci qui te retient.
Skippy est là pour t'enlever tous tes soucis.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] FTP : Récupération récursive

#11

Message par Tlem »

Si vous utilisez _FTPFilesListToArray, est-ce que cela recrée l'arborescence de votre dossier FTP dans le tableau résultant ?
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
peuchere83
Niveau 5
Niveau 5
Messages : 169
Enregistré le : mer. 17 déc. 2008 10:50
Status : Hors ligne

Re: [..] FTP : Récupération récursive

#12

Message par peuchere83 »

Non Tlem,

je n'obtiens que la liste des des éléments du répertoire courant. Cette fonction ne correspond pas au filelisttoarray traditionnel qui a la possibilité de travailler dans les sous répertoires.
Donc je suis dans ce cas la obligé d'utiliser les commandes _ftpdirsetcurrent et _ftpdirgetcurrent pour pouvoir me déplacer dans mon arborescence.
C'est pour cela que je suis parti sur la solution avec _FTP_FindFileFirst qui n'en a pas besoin car il ouvre un handle en fonction du chemin qui lui est passé en paramètre.

Mais par contre dans mon dernier code tout fonctionne correctement sauf le rappel de la fonction qui me permettrait ainsi de faire de la récursivité et je ne comprends pas pourquoi car (pour moi) cela me semble logique (au niveau raisonnement en tout cas).

Si vraiment je n'aboutis pas, je passerais sur du python mais bon cela m'ennuierait fortement d'avoir plusieurs langage à maintenir pour un seul et même programme.
Tous biens que tu possèdes est un souci qui te retient.
Skippy est là pour t'enlever tous tes soucis.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] FTP : Récupération récursive

#13

Message par Tlem »

Après pas mal de recherches, j'ai trouvé un code qui me semble correspondre à votre demande : http://www.autoitscript.com/forum/index ... t&p=253635

Je ne l'ai pas testé, mais d'après ce qui est écrit dans le sujet, cela correspond à votre attente. ;)
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
peuchere83
Niveau 5
Niveau 5
Messages : 169
Enregistré le : mer. 17 déc. 2008 10:50
Status : Hors ligne

Re: [..] FTP : Récupération récursive

#14

Message par peuchere83 »

Un grand merci Tlem !!!!

J'ai modifié le code pour qu'il fonctionne avec les nouvelles fonctions liées à FtpEx.au3
Je vais l'intégrer et ensuite je le posterai car je pense cela pourra être utile pour d'autres personnes.

Par contre je voudrais savoir si quelqu'un (et peut être toi) pourriez m'expliquer le fonctionnement de la reconnexion en cas de coupure réseau (time out du serveur ftp).
A première vue il faut utiliser le callback mais je n'ai pas trouvé que très peu d'information et je ne parle même pas du site msdn qui est une catastophe au niveau de la compréhension :mrgreen:

Par avance merci.
Tous biens que tu possèdes est un souci qui te retient.
Skippy est là pour t'enlever tous tes soucis.
Avatar du membre
peuchere83
Niveau 5
Niveau 5
Messages : 169
Enregistré le : mer. 17 déc. 2008 10:50
Status : Hors ligne

Re: [..] FTP : Récupération récursive

#15

Message par peuchere83 »

Voici mon retour :
Cette fonction retourne le nombre de fichiers récupérés et elle fonctionne sous autoit 3.3.6.0.
Il suffit juste de l'intégrer à FtpEX.au3 et le tour est joué :wink:
► Afficher le texte
Par contre j'aimerais un retour de votre part sur la gestion des erreurs et de possible évolution.

Cordialement
Tous biens que tu possèdes est un souci qui te retient.
Skippy est là pour t'enlever tous tes soucis.
GaRydelaMer
Niveau 7
Niveau 7
Messages : 450
Enregistré le : mer. 18 mars 2009 22:12
Localisation : Montpellier
Status : Hors ligne

Re: [..] FTP : Récupération récursive

#16

Message par GaRydelaMer »

Bonjour

super la fonction; mais 2 remarques:

Le nom de l'aide de la fonction, et son nom n'est pas le même.

J'aurais vu un truc du genre, 1 fonction qui te retourne un tableau de l'arborescence, une autre pour downloader l'arborescence (le tableau précédent) en paramètre. De facon à pouvoir le faire en arrière plan et/ou avec une GUI de progression.
Avatar du membre
peuchere83
Niveau 5
Niveau 5
Messages : 169
Enregistré le : mer. 17 déc. 2008 10:50
Status : Hors ligne

Re: [..] FTP : Récupération récursive

#17

Message par peuchere83 »

Bonjour,

c'est pas bête je vais essayer de le faire.

Par contre j'ai poussé le test sur environ 70 comptes ftp différents et là .... catastrophe.
J'ai l'impression que je crash le serveur qui héberge ces comptes ftp car il me rapatrie bien les données sur certains comptes et pour d'autres il n'arrive pas à se connecter au serveur (echec du _ftp_connect).

J'ai contacté la hotline de mes serveurs et ils ne comprennent pas d'où peut venir le pb.

Si quelqu'un a une idée .....
GaRydelaMer a écrit :De facon à pouvoir le faire en arrière plan et/ou avec une GUI de progression.
Comment ca en arrière plan ?
Car tout le reste est faisable (en tout cas dans mes cordes) mais là je ne vois pas.
Si tu veux que l'on bosse ensemble dessus je dis pas non car cela m'intéresse fortement.

Cordialement
Tous biens que tu possèdes est un souci qui te retient.
Skippy est là pour t'enlever tous tes soucis.
GaRydelaMer
Niveau 7
Niveau 7
Messages : 450
Enregistré le : mer. 18 mars 2009 22:12
Localisation : Montpellier
Status : Hors ligne

Re: [..] FTP : Récupération récursive

#18

Message par GaRydelaMer »

Re

je pensais à 2 choses, soit avec ADlibRegister, une fonction qui prend le tableau en paramètre.

Et elle verifie chaque fois si le tableau est vide ou pas.
Ensuite elle donwload un élément(adresse du fichier) du tableau et le supprime du tableau.
Elle peut aussi avoir le GUI de progression.

Si c'est pas assez rapide cas des gros fichiers je pense, on peux faire un fichier exe avec AutoIt exprès qui va lui se charger de télécharger, et un shellexecute ou un run devrait suffire.

Voila mes idées.
Avatar du membre
peuchere83
Niveau 5
Niveau 5
Messages : 169
Enregistré le : mer. 17 déc. 2008 10:50
Status : Hors ligne

Re: [..] FTP : Récupération récursive

#19

Message par peuchere83 »

Bonjour à tous.

Je rencontre des soucis de connexion lorsqu'il y a une grande quantité de fichier à rapatrier.
Quelqu'un a t'il une suggestion pour faire de la reprise de traitement ?
En sachant que je n'ai pas le droit de supprimer les fichiers que je rapatrie (ce serait trop simple sinon).

En attendant j'ai utilisé un programme qui s'appelle scriptftp (www.scriptftp.com) qui pourra intéresser plus d'une personne exploitant le ftp : il est entièrement scriptable, il est capable de faire de la synchronisation de répertoire (gain de temps), le langage ressemble quasiment au batch dos et il coute une misère.

En attendant un réponse, je vous souhaite à tous un bon WE.
Tous biens que tu possèdes est un souci qui te retient.
Skippy est là pour t'enlever tous tes soucis.
Répondre