[R] Télécharger sur sourceforge et concaténation

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
foozoor
Niveau 4
Niveau 4
Messages : 54
Enregistré le : dim. 19 août 2012 17:41
Status : Hors ligne

[R] Télécharger sur sourceforge et concaténation

#1

Message par foozoor »

A priori il ne serait pas possible avec InetGet de télécharger directement sur sourceforge. :?
Est-ce réellement le cas, y a-t-il une alternative ?

J'ai eu un petit problème de 'concaténation' avec mes paramètres :

Code : Tout sélectionner

Const $installDir = @ProgramFilesDir & "\HTPC"
$mpcInstall = $installDir & "\MPC-HC"
$mpcParams = '/verysilent /dir=' & '"' & $mpcInstall & '"'
MsgBox(0, "Paramètres d'installation", $mpcParams)
Est-ce la bonne solution pour entourer une variable de guillemet ?
Cela me semble un peu tiré par les cheveux, mais cela a l'air de marcher. :wink:

Merci d'avance !
Modifié en dernier par foozoor le mer. 22 août 2012 09:29, modifié 1 fois.
Avatar du membre
jbnh
Niveau 11
Niveau 11
Messages : 1932
Enregistré le : ven. 02 mai 2008 14:54
Localisation : Bruxelles
Status : Hors ligne

Re: [..] Télécharger sur sourceforge et concaténation

#2

Message par jbnh »

Je ne comprend pas trop votre question :)

Certes, vous pouvez remplacer la troisième ligne par :

Code : Tout sélectionner

$mpcParams = '/verysilent /dir="' & $mpcInstall & '"'
mais comme vous dites votre solution marche.
Balise [..] devant votre requête en cours, [R] quand résolu | Pas de message concernant les bots !

Merci
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Télécharger sur sourceforge et concaténation

#3

Message par mikell »

Et ceci suffirait (vaut mieux mettre "\" après le nom de dossier)

Code : Tout sélectionner

$mpcInstall = @ProgramFilesDir & "\HTPC\MPC-HC\"
" 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
foozoor
Niveau 4
Niveau 4
Messages : 54
Enregistré le : dim. 19 août 2012 17:41
Status : Hors ligne

Re: [..] Télécharger sur sourceforge et concaténation

#4

Message par foozoor »

Je voulais savoir si c'était bien la bonne solution, je me suis mis à AutoIt depuis hier et je n'ai jamais programmé.
En gros je viens de voir la concaténation :shock: , mais comme elle est différente pour chaque langage... :?
J'ai lu aussi des trucs sur l'échappement, mais je ne sais absolument pas comment faire avec AutoIt.

Sinon personne ne connaîtrait une UDF pour télécharger sur sourceforge à partir de ce type d'url ?

Code : Tout sélectionner

$mpcUrl = "http://sourceforge.net/projects/mpc-hc/files/latest/download?source=files"
En fait, c'est l'url permanente pour télécharger la dernière version d'un logiciel (ici mpc-hc).
Le problème étant qu'il y a une sorte de sécurité, je suppose pour ne pas surcharger les serveurs. :?
Le lien renvoi vers une page d'attende (5s) qui renvoie vers le téléchargement du logiciel.


J'ai réduit mon code au strict minimum, la MsgBox me sert pour faire du debug.
J'ai une constante, car je vais installer plusieurs logiciels dans @ProgramFilesDir & "\HTPC

Comme ça, c'est plus facile de changer une ligne que plusieurs. :wink:
Je compte faire un GUI avec le choix de cette constante par l'utilisateur, mais c'est pas pour tout de suite. :roll:
Avatar du membre
timmalos
Niveau 11
Niveau 11
Messages : 1970
Enregistré le : dim. 18 mai 2008 15:16
Status : Hors ligne

Re: [..] Télécharger sur sourceforge et concaténation

#5

Message par timmalos »

Pour faire ca legalement, vous devez utiliser l'udf IE.au3, vous tourvez du coté de _IECreate, _IENavigate et _IELoadWait. Un paramètre de _IECreate permet de faire ceci en arrière plan, vous ne verrez donc pas la difference ;)
Avatar du membre
foozoor
Niveau 4
Niveau 4
Messages : 54
Enregistré le : dim. 19 août 2012 17:41
Status : Hors ligne

Re: [..] Télécharger sur sourceforge et concaténation

#6

Message par foozoor »

Arg ! Je voulais éviter de passer par IE, car certaines personnes dont moi-même l'ont viré complètement de Windows.

En quoi est-ce illégal de ne pas passer par un navigateur ?
Sea
Niveau 6
Niveau 6
Messages : 219
Enregistré le : ven. 22 juin 2012 18:51
Localisation : France
Status : Hors ligne

Re: [..] Télécharger sur sourceforge et concaténation

#7

Message par Sea »

Pour téléchargé tu dois avoir le lien DIRECT de l'exécutable la ou il est sur le serveur(pour l'obtenir fais click droit sur "direct link" et fais "Copier l'adresse du lien")

Ainsi par exemple pour mpc-hc l'url sera =>

Code : Tout sélectionner

$mpcUrl = http://downloads.sourceforge.net/project/mpc-hc/MPC%20HomeCinema%20-%20Win32/MPC-HC_v1.6.3.5818_x86/MPC-HC.1.6.3.5818.x86.exe?r=&ts=1345562725&use_mirror=freefr
 
et ça marche parfaitement ;)
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Télécharger sur sourceforge et concaténation

#8

Message par mikell »

Et pour que ça marche aussi pour les futures versions ça sera
► Afficher le texte
:wink:
" 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
foozoor
Niveau 4
Niveau 4
Messages : 54
Enregistré le : dim. 19 août 2012 17:41
Status : Hors ligne

Re: [..] Télécharger sur sourceforge et concaténation

#9

Message par foozoor »

C'est juste incroyable je n'aurais jamais pu pondre un code de ce type !
J'ai reconnu les expressions régulières, ce n'est pas très "parlant" comme concept, mais c'est surpuissant ! :shock:

Il va me falloir quelques cafés pour comprendre en détails les traitements effectués et plus particulièrement StringRegExpReplace et BinaryToString !
J'ai déjà vu "$1" dans des fichiers .htaccess sans savoir à quoi cela pouvait correspondre.
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [R] Télécharger sur sourceforge et concaténation

#10

Message par mikell »

Explications

Code : Tout sélectionner

StringRegExpReplace($txt, '(?s).+http://downloads(.*?)\?r=.+', "$1")
(?s) : indique au moteur regex que le texte contient des blancs et des renvois à la ligne
.+ : n'importe quel caractère plusieurs fois, correspondance la plus longue
(.*?) : n'importe quel caractère plusieurs fois, correspondance la plus courte grâce au ?, entre parenthèses => groupe à enregistrer
http://downloads et ?r= : strings qui servent de repères (on met un \ avant le ? parce que le ? est un caractère spécial)
$1 : variable qui représente le groupe enregistré

Code : Tout sélectionner

StringRegExpReplace($fileUrl, '.+/(.*?)', "$1")
"fais un groupe avec ce qui se trouve après le dernier / et remplace toute la chaîne par juste ce groupe"

Pour le reste voir le fichier d'aide pour InetRead :wink:
" 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
foozoor
Niveau 4
Niveau 4
Messages : 54
Enregistré le : dim. 19 août 2012 17:41
Status : Hors ligne

Re: [R] Télécharger sur sourceforge et concaténation

#11

Message par foozoor »

J'essaye de comprendre comment on peut transformer ça :

Code : Tout sélectionner

"http://sourceforge.net/projects/mpc-hc/files/latest/download?source=files"
En ceci :

Code : Tout sélectionner

"http://downloads.sourceforge.net/project/mpc-hc/MPC%20HomeCinema%20-%20Win32/MPC-HC_v1.6.3.5818_x86/MPC-HC.1.6.3.5818.x86.exe?r=&ts=1345562725&use_mirror=freefr"
Cette chaîne est commune aux 2 chaînes et je suppose qu'elle est stockée :

Code : Tout sélectionner

".sourceforge.net/project/mpc-hc/"
Et on fait précéder cette chaîne de "http://downloads".

Mais par quelle sorcellerie :shock: arrive-t-on à récupérer ça (avec InetRead ?):

Code : Tout sélectionner

"MPC%20HomeCinema%20-%20Win32/MPC-HC_v1.6.3.5818_x86/MPC-HC.1.6.3.5818.x86.exe?r=&ts=1345562725&use_mirror=freefr"
Je ne comprends pas trop la différence entre InetGet et InetRead... :?
Je vais un peu "étudié" car là, ça demande plus que de la logique, faut connaitre les paterns, ect..
J'ai fait le tuto du siteduzero (pas la partie GUI), mais c'est un peu limité.
Quelles lectures (fr et en) me conseilleriez-vous pour en apprendre plus sur AutoIt ?

Merci d'avance !
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [R] Télécharger sur sourceforge et concaténation

#12

Message par mikell »

foozoor a écrit :Quelles lectures (fr et en) me conseilleriez-vous pour en apprendre plus sur AutoIt ?
Sans hésitation : les exemples du fichier d'aide + les forums (avec leurs systèmes de recherche et leurs chats oranges)
Y a aussi ce lien à conserver précieusement : http://www.autoitscript.com/wiki/Tutorials

Sinon pour mon code, le principe : on lit le code de la page (InetRead), on le traite pour piquer dedans les infos qu'on veut (les Regexp de mon post précédent) , on utilise ces infos pour reconstruire une url fonctionnelle, et on télécharge sur cette url (InetGet)
Dans ton cas, le but est
1) de trouver un moyen d'avoir la bonne adresse, même si le numéro de version change
2) de transformer cette adresse qui ne marche pas avec InetGet

Code : Tout sélectionner

http://downloads.sourceforge.net/project/mpc-hc/MPC HomeCinema - Win32/MPC-HC_v1.6.3.5818_x86/MPC-HC.1.6.3.5818.x86.exe?r=&ts=1345562725&use_mirror=freefr
en cette adresse qui marche

Code : Tout sélectionner

http://dfn.dl.sourceforge.net/project/mpc-hc/MPC HomeCinema - Win32/MPC-HC_v1.6.3.5818_x86/MPC-HC.1.6.3.5818.x86.exe
En détail ici :
► 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
Tlem
Site Admin
Site Admin
Messages : 11830
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [R] Télécharger sur sourceforge et concaténation

#13

Message par Tlem »

Le Wiki existe aussi en partie dans la langue de Molière. :roll:
Voilà l'équivalent : http://www.autoitscript.fr/wiki/Tutoriels
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
foozoor
Niveau 4
Niveau 4
Messages : 54
Enregistré le : dim. 19 août 2012 17:41
Status : Hors ligne

Re: [R] Télécharger sur sourceforge et concaténation

#14

Message par foozoor »

Donc, rien ne vaut l'étude de script pour apprendre !

Merci pour le "debug", ça me semble beaucoup moins abstrait. :wink:
Répondre