Contenu | Rechercher | Menus

Annonce

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites". Attention, le forum rencontre actuellement quelques difficultés. En cas d'erreur 502, il ne faut pas re-valider l'envoi d'un message ou l'ouverture d'une discussion, au risque de créer un doublon.

La section divers se réorganise ! De nouvelles sous-sections à venir. (plus d'infos + donner son avis)

#1 Le 10/08/2012, à 20:24

toulipe

[Tip] Curl, zenity / yad, téléchargement et barre de progression

Output habituel de curl lors du téléchargement d'un fichier :

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0  646M    0  365k    0     0  98218      0  1:54:56  0:00:03  1:54:53   97k

Je veux récupérer quelques informations sur l'état du transfert, et les envoyer à yad ou zenity pour qu'ils m'affichent une jolie barre de progression. Je commence par rediriger le stderr de curl :

url=http://www.something.com/foo.bar
nom_fichier=fichier
fichier_temp=/tmp/fichier-temp

curl $url -O $nom_fichier 2> $fichier_temp ; rm -f $fichier_temp

Puis, dans un autre shell, je récupère les informations qui m'intéressent (ici, le pourcentage du téléchargement, et le temps restant) :

# Pour yad :
while [ -f $fichier_temp ] ; do
   awk 'END{ print $(NF-11) "\n#'$nom_fichier' (" $(NF-1) " restant)" }' $fichier_temp 2>/dev/null
   sleep 1
done | yad --title='Téléchargements' --window-icon=emblem-downloads --progress

# Pour zenity,
 [...]
done | zenity --title='Téléchargement'  --progress

etc.

Résultat final :

Yad :
yad

Zenity :
zenity

Une méthode plus propre serait d'utiliser un fifo, mais j'avoue ne pas savoir comment m'y prendre. Si quelqu'un a une idée, je suis preneur.

Hors ligne

#2 Le 10/08/2012, à 22:02

Kooothor

Re : [Tip] Curl, zenity / yad, téléchargement et barre de progression

curl http://k.flood.fr/pub/minecraft-101019.mpeg -# -o deleteme.mpeg

tongue

Dernière modification par Kooothor (Le 10/08/2012, à 22:04)


Utilisateur d'Archlinux | Cruncheur BOINC | Bépoiste
Admin de Flood.fr | Mon ~ | Mes dotfiles
«Your behavior is not funny and is wasting the time of the federal government !»

Hors ligne

Haut de page ↑