#1 Le 09/04/2021, à 16:18
- cqfd93
[ Résolu ] Barre de progression zenity avec dpluzz-cli
Bonjour,
Je suis sous Ubuntu 20.04.2 et j'utilise la version de dpluzz-cli du ppa de melixgaro (elle marche très bien et ça fait plaisir de pouvoir continuer à utiliser les bons softs au fil des mises à niveau)
Quand je lance une commande dans le terminal, elle affiche pas mal d'informations dont évidemment la progression du téléchargement en %.
Ma commande de base ressemble à ça :
dpluzz-cli -f -u https://www.france.tv/france-2/simplissime-des-recettes-fraiches-et-faciles/2363505-la-creme-froide-d-asperges-petits-pois-et-tarama.html -d ~/Vidéos/dpluzz
En vue de l'inclusion dans un script, j'aimerais pouvoir utiliser ce pourcentage dans une fenêtre zenity avec une barre de progression.
J'ai déjà essayé ça, avec --pulsate (quand ça sera au point, je rajouterai --auto-close) :
dpluzz-cli -f -u https://www.france.tv/france-2/simplissime-des-recettes-fraiches-et-faciles/2363505-la-creme-froide-d-asperges-petits-pois-et-tarama.html -d ~/Vidéos/dpluzz | zenity --progress --pulsate --width=400 --title "Téléchargement de vidéos" --text "Téléchargement en cours…"
Mais ça ne rend pas compte du pourcentage téléchargé. J'ai aussi essayé :
dpluzz-cli -f -u https://www.france.tv/france-2/simplissime-des-recettes-fraiches-et-faciles/2363505-la-creme-froide-d-asperges-petits-pois-et-tarama.html -d ~/Vidéos/dpluzz | zenity --progress --percentage=0 --width=400 --title "Téléchargement de vidéos" --text "Téléchargement en cours…"
mais la barre de progression reste désespérément bloquée à 0 et saute d'un coup à 100% à la fin du téléchargement.
Mon problème est donc de passer cette information donnée par dpluzz-cli à zenity. Quelqu'un saurait comment faire si c'est possible ?
Merci d'avance !
Dernière modification par cqfd93 (Le 10/04/2021, à 13:08)
− cqfd93 −
Hors ligne
#2 Le 09/04/2021, à 19:24
- Amiralgaby
Re : [ Résolu ] Barre de progression zenity avec dpluzz-cli
Salut, en regardant sur la doc de zenity -> lien vers doc Zenity (GNOME).
Si tu essaie le miniscript normalement il fonctionne ?
Vive la communauté du Libre !!!
Hors ligne
#3 Le 09/04/2021, à 19:30
- cqfd93
Re : [ Résolu ] Barre de progression zenity avec dpluzz-cli
C'est le script qu'on trouve partout, bien sûr il marche mais ça ne me dit pas comment récupérer ce pourcentage affiché par dpluzz-cli pour le passer à zenity.
− cqfd93 −
Hors ligne
#4 Le 09/04/2021, à 19:43
- Amiralgaby
Re : [ Résolu ] Barre de progression zenity avec dpluzz-cli
Essaye en mettant entre les deux une commande qui remplace les \r par rien
je n'ai testé que pour voir si ça enlevait bien les \r.... ça serait un peu plus embêtant si la personne a choisi de mettre le caractère null à la fin...
sed -e 's/\r//g'
à bah finalement ça ne fonctionne pas non plus pour moi
Dernière modification par Amiralgaby (Le 09/04/2021, à 19:47)
Vive la communauté du Libre !!!
Hors ligne
#5 Le 09/04/2021, à 20:17
- Sciensous
Re : [ Résolu ] Barre de progression zenity avec dpluzz-cli
hello, en regardant le code de dpluzz-cli, les infos sont redirigées vers >2, donc une piste à adapter:
dpluzz-cli -f -u https://www.france.tv/france-2/simplissime-des-recettes-fraiches-et-faciles/2363505-la-creme-froide-d-asperges-petits-pois-et-tarama.html 2>&1 | sed -n "s/.*Progression://p"
antiX 19 et 21 et Ubuntu 20.04 et 22.04
( sous LXDE et gnome-shell )
Hors ligne
#6 Le 09/04/2021, à 20:31
- cqfd93
Re : [ Résolu ] Barre de progression zenity avec dpluzz-cli
Salut !
hello, en regardant le code de dpluzz-cli, les infos sont redirigées vers >2, donc une piste à adapter:
dpluzz-cli -f -u https://www.france.tv/france-2/simplissime-des-recettes-fraiches-et-faciles/2363505-la-creme-froide-d-asperges-petits-pois-et-tarama.html 2>&1 | sed -n "s/.*Progression://p"
Merci !
Voilà le retour de cette commande :
moi@moi-lenovo:~/Vidéos/dpluzz$ dpluzz-cli -f -u https://www.france.tv/france-2/simplissime-des-recettes-fraiches-et-faciles/2363505-la-creme-froide-d-asperges-petits-pois-et-tarama.html 2>&1 | sed -n "s/.*Progression://p"
0,00%
12,50%
25,00%
37,50%
50,00%
62,50%
75,00%
87,50%
100,00%
moi@moi-lenovo:~/Vidéos/dpluzz$
Mais je ne vois pas comment l'adapter pour passer ces valeurs à zenity.
− cqfd93 −
Hors ligne
#7 Le 09/04/2021, à 21:15
- melixgaro
Re : [ Résolu ] Barre de progression zenity avec dpluzz-cli
Salut,
Sympa ton mesage cqfd
Il faut “piper” comme ceci
machintrucdpluzz 2>&1 | stdbuf -i0 -o0 -e0 sed -n 's/^.*Progression: *\([0-9.]\+\)%.*/\1/p' | zenity --progress --percentage=0 --width=400 --title "Téléchargement de vidéos" --text "Téléchargement en cours…"
Le 2>&1 car comme bien noté ci-dessus, la sortie est sur stderr et stdbuf pour éviter que le pipe ne remplisse le tampon avant de transmettre le texte à la commande suivante.
Ajout :
ou avec l'option -u de sed qui nous épargne l'usage de stdbuf
machintrucdpluzz 2>&1 | sed -un 's/^.*Progression: *\([0-9.]\+\)%.*/\1/p' | zenity --progress --percentage=0 --width=400 --title "Téléchargement de vidéos" --text "Téléchargement en cours…"
Dernière modification par melixgaro (Le 09/04/2021, à 21:19)
Linux depuis ~2007. Xubuntu seulement.
Hors ligne
#8 Le 09/04/2021, à 21:18
- MicP
Re : [ Résolu ] Barre de progression zenity avec dpluzz-cli
Bonjour
Essaye avec ça,
en copiant/collant les deux lignes d'un seul bloc
et en appuyant ensuite sur la touche entrée :
lien="https://www.france.tv/france-2/simplissime-des-recettes-fraiches-et-faciles/2363505-la-creme-froide-d-asperges-petits-pois-et-tarama.html"
dpluzz-cli -f -u "$lien" 2>&1 | sed -n "s/.*Progression://p" | zenity --progress --title="Téléchargement par dpluzz-cli" --text="${lien##*\/}"
Dernière modification par MicP (Le 09/04/2021, à 21:46)
Hors ligne
#9 Le 09/04/2021, à 22:28
- cqfd93
Re : [ Résolu ] Barre de progression zenity avec dpluzz-cli
Bonsoir à tous les deux,
Sympa ton mesage cqfd
Il faut “piper” comme ceci
…
Ajout :ou avec l'option -u de sed qui nous épargne l'usage de stdbuf
…
En remplaçant bien machintrucdpluzz par ma commande complète dans tes 2 versions, le fichier est bien téléchargé mais la jauge reste désespérément scotchée à 0 :-(
Essaye avec ça,
en copiant/collant les deux lignes d'un seul bloc
et en appuyant ensuite sur la touche entrée :
Même punition
− cqfd93 −
Hors ligne
#10 Le 09/04/2021, à 23:35
- MicP
Re : [ Résolu ] Barre de progression zenity avec dpluzz-cli
… Même punition …
Alors il y a autre chose que l'on ne voit pas dans le message #6 de cqfd93
qui est retourné par la ligne commande :
dpluzz-cli -f -u [url]https://www.france.tv/france-2/simplissime-des-recettes-fraiches-et-faciles/2363505-la-creme-froide-d-asperges-petits-pois-et-tarama.html[/url] 2>&1 | sed -n "s/.*Progression://p"
car avec un script contenant :
#!/bin/sh
lien="https://kgkj/mlkmlk/trytr/2363505-la-creme-froide-d-asperges-petits-pois-et-tarama.html"
(
echo "10,00%" ; sleep 1
echo "20,50%" ; sleep 1
echo "50,24%" ; sleep 1
echo "75,30%" ; sleep 1
echo "100%" ; sleep 1
) | zenity --progress --title="Téléchargement par dpluzz-cli" --text="${lien##*\/}"
J'obtiens une barre de progression fonctionnelle :
Dernière modification par MicP (Le 09/04/2021, à 23:47)
Hors ligne
#11 Le 09/04/2021, à 23:47
- melixgaro
Re : [ Résolu ] Barre de progression zenity avec dpluzz-cli
à cqfd,
Je précise bien que j'ai testé les deux commandes proposées avec deux vidéos différentes et la jauge fonctionne bien. Sur une 20.04.
Si ta connexion turbine à fond, il est possible que tu passes directement de 0 à 100 car l'exemple que tu proposes renvoie un tout petit fichier. Essaye avec un numéro de la gendarme punk Marleau.
à MicP,
sed est nécessaire pour extraire le pourcentage, sinon il est noyé dans du texte.
Linux depuis ~2007. Xubuntu seulement.
Hors ligne
#12 Le 09/04/2021, à 23:50
- MicP
Re : [ Résolu ] Barre de progression zenity avec dpluzz-cli
…sed est nécessaire pour extraire le pourcentage, sinon il est noyé dans du texte. …
Visiblement, vu le contenu de mon script,
ni le caractère pourcentage, ni la virgule, ni les décimales après la virgule ne gênent zenity
et sed est bien présent dans la ligne de commande que j’ai proposée,
avec les mêmes paramètres que ceux que cqfd93 avait utilisé dans son message #6
dpluzz-cli -f -u "$lien" 2>&1 | sed -n "s/.*Progression://p" | zenity --progress --title="Téléchargement par dpluzz-cli" --text="${lien##*\/}"
sed est sans doute nécessaire,
mais pour autre chose que l’on ne voit pas dans ce fil de discussion
et qui est retourné par la commande dpluzz-cli
Dernière modification par MicP (Le 10/04/2021, à 00:02)
Hors ligne
#13 Le 10/04/2021, à 00:10
- melixgaro
Re : [ Résolu ] Barre de progression zenity avec dpluzz-cli
Ok.
Avec cet exemple, je passe de 0 à 100 dans la barre de zenity :
#!/bin/sh
lien="https://kgkj/mlkmlk/trytr/2363505-la-creme-froide-d-asperges-petits-pois-et-tarama.html"
(
echo "ProGresSion : 10,00%" ; sleep 1
echo "ProGresSion : 20,50%" ; sleep 1
echo "ProGresSion : 50,24%" ; sleep 1
echo "ProGresSion : 75,30%" ; sleep 1
echo "100%" ; sleep 1
) | zenity --progress --title="Téléchargement par dpluzz-cli" --text="${lien##*\/}"
dpluzz affiche une progression en réécrivant le nouveau pourcentage sur la même ligne pour faire une animation textuelle et éviter d'afficher 1000 lignes dans le terminal. Les autres infos sont des infos de type debug mais qui ne sont pas désactivables, si je me souviens bien.
Linux depuis ~2007. Xubuntu seulement.
Hors ligne
#14 Le 10/04/2021, à 00:15
- melixgaro
Re : [ Résolu ] Barre de progression zenity avec dpluzz-cli
Et comme je l'ai expliqué dans mon premier message, il faut aussi l'option -u de sed ; sinon tant que le tampon n'est pas rempli, la progression n'est pas transmise à zenity (donc ça aura toutes les chances de passer de 0 à 100, ou du moins, de faire de grands sauts, puisque le processus finira probablement avant que le tampon ne soit plein).
Linux depuis ~2007. Xubuntu seulement.
Hors ligne
#15 Le 10/04/2021, à 10:40
- cqfd93
Re : [ Résolu ] Barre de progression zenity avec dpluzz-cli
Bonjour à tous,
Alors il y a autre chose que l'on ne voit pas dans le message #6 de cqfd93
qui est retourné par la ligne commande :dpluzz-cli -f -u [url]https://www.france.tv/france-2/simplissime-des-recettes-fraiches-et-faciles/2363505-la-creme-froide-d-asperges-petits-pois-et-tarama.html[/url] 2>&1 | sed -n "s/.*Progression://p"
Je t'ai donné le retour exact du script donc je ne vois pas ce que tu entends.
car avec un script contenant :
#!/bin/sh lien="https://kgkj/mlkmlk/trytr/2363505-la-creme-froide-d-asperges-petits-pois-et-tarama.html" ( echo "10,00%" ; sleep 1 echo "20,50%" ; sleep 1 echo "50,24%" ; sleep 1 echo "75,30%" ; sleep 1 echo "100%" ; sleep 1 ) | zenity --progress --title="Téléchargement par dpluzz-cli" --text="${lien##*\/}"
J'obtiens une barre de progression fonctionnelle :
https://i.ibb.co/gjrfJB6/Capture-d-cran … -31-35.png
J'ai bien la même chose avec la barre de progression qui avance.
− cqfd93 −
Hors ligne
#16 Le 10/04/2021, à 10:43
- cqfd93
Re : [ Résolu ] Barre de progression zenity avec dpluzz-cli
à cqfd,
Je précise bien que j'ai testé les deux commandes proposées avec deux vidéos différentes et la jauge fonctionne bien. Sur une 20.04.
Si ta connexion turbine à fond, il est possible que tu passes directement de 0 à 100 car l'exemple que tu proposes renvoie un tout petit fichier. Essaye avec un numéro de la gendarme punk Marleau.
Avec le petit fichier, le téléchargement prend un certain temps (ma connexion n'est pas terrible) mais j'ai aussi pensé à cette éventualité et j'ai essayé en téléchargeant un JT et le problème est le même.
− cqfd93 −
Hors ligne
#17 Le 10/04/2021, à 10:51
- MicP
Re : [ Résolu ] Barre de progression zenity avec dpluzz-cli
…Je t'ai donné le retour exact du script donc je ne vois pas ce que tu entends. …
La ligne de commande retourne des caractères qui ne peuvent pas êtres visibles dans un message copié/collé,
comme par exemple ceux qui ont permit d'aligner les valeurs sur le caractère de séparation décimal,
et ceux qui renvoient le curseur au début de la ligne pour que la valeur suivante cache la précédente,
à moins qu'une séquence d'échappement efface la ligne courante en repositionnant le curseur au début de la ligne.
Toutes ces séquences d'échappement sont retournées par la commande, mais seront invisibles dans le message copié/collé.
Et si ça se trouve, il n'y a pas de caractère retour à la ligne après chaque valeur retournée
et comme sed attend que ce caractère de retour à la ligne soit transmis par la commande avant de faire son travail
sed ne retourne rien avant la fin du flux.
Dernière modification par MicP (Le 10/04/2021, à 11:00)
Hors ligne
#18 Le 10/04/2021, à 10:54
- cqfd93
Re : [ Résolu ] Barre de progression zenity avec dpluzz-cli
La ligne de commande retourne des caractères qui ne peuvent pas êtres visibles dans un message copié/collé,
…
Ah je comprends.
− cqfd93 −
Hors ligne
#19 Le 10/04/2021, à 11:07
- MicP
Re : [ Résolu ] Barre de progression zenity avec dpluzz-cli
la commande hd pourrait nous permettre de voir tous les caractères retournés par la ligne de commande :
dpluzz-cli -f -u [url]https://www.france.tv/france-2/simplissime-des-recettes-fraiches-et-faciles/2363505-la-creme-froide-d-asperges-petits-pois-et-tarama.html[/url] 2>&1 | hd
Hors ligne
#20 Le 10/04/2021, à 11:28
- melixgaro
Re : [ Résolu ] Barre de progression zenity avec dpluzz-cli
Le retour en début de ligne se fait avec
echo -ne "\e[F" >&2
et il y a de la coloration.
Cette commande (/!\ j'utilise un alias)
dpcli -f -d . -u "https://www.france.tv/france-3/plus-belle-la-vie/plus-belle-la-vie-saison-17/2365313-episode-du-vendredi-9-avril-2021.html" 2>&1 | sed -un 's/^.*Progression: *\([0-9.]\+\)%.*/\1/p' | cat -A
0.00$
0.53$
1.06$
1.59$
2.12$
2.65$
3.17$
3.70$
affiche bien la progression en temps réel : chaque pourcentage apparaît l'un après l'autre. Le cat -A montre que la sortie est propre et valide pour zenity.
Cette commande (même chose sans l'option u de sed)
dpcli -f -d . -u "https://www.france.tv/france-3/plus-belle-la-vie/plus-belle-la-vie-saison-17/2365313-episode-du-vendredi-9-avril-2021.html" 2>&1 | sed -n 's/^.*Progression: *\([0-9.]\+\)%.*/\1/p' | cat -A
0.00$
0.53$
1.06$
1.59$
2.12$
2.65$
3.17$
3.70$
...
97.88$
98.41$
98.94$
99.47$
100.00$
affiche tout d'un coup, à la fin de l'exécution. En cause le tampon de mémoire du pipe.
Linux depuis ~2007. Xubuntu seulement.
Hors ligne
#21 Le 10/04/2021, à 11:57
- cqfd93
Re : [ Résolu ] Barre de progression zenity avec dpluzz-cli
Cette commande (/!\ j'utilise un alias)
dpcli -f -d . -u "https://www.france.tv/france-3/plus-belle-la-vie/plus-belle-la-vie-saison-17/2365313-episode-du-vendredi-9-avril-2021.html" 2>&1 | sed -un 's/^.*Progression: *\([0-9.]\+\)%.*/\1/p' | cat -A 0.00$ 0.53$ 1.06$ 1.59$ 2.12$ 2.65$ 3.17$ 3.70$
affiche bien la progression en temps réel : chaque pourcentage apparaît l'un après l'autre. Le cat -A montre que la sortie est propre et valide pour zenity.
Ah, alors chez moi elle n'affiche rien mais elle télécharge bien le fichier, j'en suis à 72 MB. (Bien sûr, j'ai remplacé ton alias par dpluzz-cli)
− cqfd93 −
Hors ligne
#22 Le 10/04/2021, à 12:06
- melixgaro
Re : [ Résolu ] Barre de progression zenity avec dpluzz-cli
Ah ! Et en enlevant
| cat -A
ça affiche en temps réel ou d'un seul coup ?
Avec cette modification on est proche du cas de ton message n°6 : il y en l'option u de sed en plus et une regex plus contraignante.
Linux depuis ~2007. Xubuntu seulement.
Hors ligne
#23 Le 10/04/2021, à 12:23
- cqfd93
Re : [ Résolu ] Barre de progression zenity avec dpluzz-cli
Ah ! Et en enlevant
| cat -A
ça affiche en temps réel ou d'un seul coup ?
La version avec | cat -A n'a rien affiché du tout, pas même d'un seul coup à la fin.
Et sans | cat -A, téléchargement en cours sans affichage.
− cqfd93 −
Hors ligne
#24 Le 10/04/2021, à 12:28
- melixgaro
Re : [ Résolu ] Barre de progression zenity avec dpluzz-cli
C'est bizarre. Ce serait que la sortie de dpluzz chez toi et chez moi sont différentes ?
Linux depuis ~2007. Xubuntu seulement.
Hors ligne
#25 Le 10/04/2021, à 12:34
- melixgaro
Re : [ Résolu ] Barre de progression zenity avec dpluzz-cli
Peux tu donner le retour de ça (en remplaçant l'alias) :
dpcli -f -d . -u "https://www.france.tv/france-3/plus-belle-la-vie/plus-belle-la-vie-saison-17/2365313-episode-du-vendredi-9-avril-2021.html" 2>&1 | head -n 20 | cat -A
Normalement ça coupera le téléchargement totu seul et dans le retour, il y aura quelques lignes avec la progression. Ça ne sera pas aussi précis qu'avec hd mais ça sera plus lisible et pourra peut-être suffire à trouver là où ça cloche.
Linux depuis ~2007. Xubuntu seulement.
Hors ligne