Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 25/09/2014, à 13:37

DavidTheDolphin

[Résolu] Rediriger curl vers zenity --progress

Bonjour,

J'essaye d'obtenir une barre de progression zenity depuis curl mais zenity reste désespérément à 0...

curl --limit-rate 10k --progress-bar --anyauth --user $user:$userpwd -o $ladest --create-dirs $laressDL 2>&1 | grep -o "[0-9,]*" | sed "s/,[0-9]*//g" | zenity --progress --no-cancel --auto-close

Si je redirige la sortie vers un fichier texte j'ai bien des nombres de 0 à 100 mais zenity refuse de bouger...

Quelqu'un peut-il m'expliquer ce que j'ai fait de travers siouplé ?

Dernière modification par DavidTheDolphin (Le 29/09/2014, à 13:48)

Hors ligne

#2 Le 25/09/2014, à 13:58

pingouinux

Re : [Résolu] Rediriger curl vers zenity --progress

Bonjour,
Pour info, je viens de tester ceci qui fonctionne parfaitement :

n=0;while ((++n<100));do echo $n;sleep 1;done | zenity --progress --no-cancel --auto-close

Hors ligne

#3 Le 25/09/2014, à 14:05

DavidTheDolphin

Re : [Résolu] Rediriger curl vers zenity --progress

Oui ça fonctionne, effectivement, mais ça ne fait pas avancer mon dialogue avec curl wink

Hors ligne

#4 Le 28/09/2014, à 11:19

Hizoka

Re : [Résolu] Rediriger curl vers zenity --progress

salut,

peux tu donner un exemple precis de ton code (avec une adresse) pour tester ?


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#5 Le 29/09/2014, à 08:12

DavidTheDolphin

Re : [Résolu] Rediriger curl vers zenity --progress

Bonjour,

En voici une adaptation sans authentification :

curl --progress-bar --anyauth --create-dirs -O http://ftp.crihan.fr/releases/14.04/ubuntu-14.04-desktop-amd64.iso 2>&1 | grep -o "[0-9,]*" | sed "s/,[0-9]*//g" | zenity --progress --no-cancel --auto-close

Merci wink

Hors ligne

#6 Le 29/09/2014, à 09:56

Hizoka

Re : [Résolu] Rediriger curl vers zenity --progress

# Valeur de base servant à comparer la progression
old_valeur="0"

# Boucle traitant chaque retour chariot
while read -d $'\r' ligne
do
 # Changement de la ligne en nombre entier, evite d'utiliser une ER
 valeur="${ligne##* }"
 valeur="${valeur%,*}"

 # Comparaison histoire de ne pas envoyer des infos inutiles à zenity, mais c'est facultatif
 if [[ ${valeur} != ${old_valeur} ]]
 then
  echo "${valeur}"
  old_valeur="${valeur}"
 fi
done < <(curl --progress-bar --anyauth --create-dirs -O http://hizo.fr/linux/wiithon_1.21-trunk-revision-493_i386.deb 2>&1) | zenity --progress

Plusieurs soucis je pense :
- Le retour est un nombre flottant or, ça ne marche pas avec zenity.
- curl affiche bien un retour tout seul, des infos avec un retour chariot (\r), qui ne renvoie plus rien si tu ajoutes ton grep.

De ce fait il faut passer par une boucle qui fonctionne avec les retours chariots : while read -d $'\r' ligne
et utiliser un nombre entier au lieu du nombre flottant : valeur="${ligne##* }" et valeur="${valeur%,*}"

Il est également possible de passer via un fichier comme tu le dis avec une boucle qui lit la derniere ligne du fichier et recupere la valeur comme ci dessus.

Et en version compressée :

while read -d $'\r' ligne; do valeur="${ligne##* }" ; echo "${valeur%,*}"; done < <(curl --progress-bar --anyauth --create-dirs -O http://hizo.fr/linux/wiithon_1.21-trunk-revision-493_i386.deb 2>&1) | zenity --progress

Dernière modification par Hizoka (Le 29/09/2014, à 09:59)


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#7 Le 29/09/2014, à 12:29

DavidTheDolphin

Re : [Résolu] Rediriger curl vers zenity --progress

Merci wink

Me reste plus qu'à traduire tout ça en sh wink

Hors ligne

#8 Le 29/09/2014, à 12:48

Hizoka

Re : [Résolu] Rediriger curl vers zenity --progress

parce que bash ne te va pas ?


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#9 Le 29/09/2014, à 12:51

DavidTheDolphin

Re : [Résolu] Rediriger curl vers zenity --progress

Tout mon script est en sh wink

Hors ligne

#10 Le 29/09/2014, à 12:52

DavidTheDolphin

Re : [Résolu] Rediriger curl vers zenity --progress

(mais en bash ça marche impec', merci encore wink )

Hors ligne

#11 Le 29/09/2014, à 13:39

Hizoka

Re : [Résolu] Rediriger curl vers zenity --progress

il manque plus qu'un petit [resolu] wink


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#12 Le 29/09/2014, à 13:49

DavidTheDolphin

Re : [Résolu] Rediriger curl vers zenity --progress

Et hop big_smile

Hors ligne