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 09/04/2021, à 17: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, à 14:08)


cqfd93

Hors ligne

#2 Le 09/04/2021, à 20: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, à 20: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, à 20: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, à 20:47)


Vive la communauté du Libre !!!

Hors ligne

#5 Le 09/04/2021, à 21: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"

cool


antiX 19 et 21 et Ubuntu 20.04 et 22.04
( sous LXDE et gnome-shell )

Hors ligne

#6 Le 09/04/2021, à 21:31

cqfd93

Re : [ Résolu ] Barre de progression zenity avec dpluzz-cli

Salut !

Sciensous a écrit :

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"

cool

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, à 22:15

melixgaro

Re : [ Résolu ] Barre de progression zenity avec dpluzz-cli

Salut,

Sympa ton mesage cqfd wink

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, à 22:19)


Linux depuis ~2007. Xubuntu seulement.

Hors ligne

#8 Le 09/04/2021, à 22: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, à 22:46)

Hors ligne

#9 Le 09/04/2021, à 23:28

cqfd93

Re : [ Résolu ] Barre de progression zenity avec dpluzz-cli

Bonsoir à tous les deux,

melixgaro a écrit :

Sympa ton mesage cqfd wink

smile

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 :-(

MicP a écrit :

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 sad


cqfd93

Hors ligne

#10 Le 10/04/2021, à 00: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 :
Capture-d-cran-2021-04-10-00-31-35.png

Dernière modification par MicP (Le 10/04/2021, à 00:47)

Hors ligne

#11 Le 10/04/2021, à 00: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. big_smile

à 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 10/04/2021, à 00: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, à 01:02)

Hors ligne

#13 Le 10/04/2021, à 01: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, à 01: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, à 11:40

cqfd93

Re : [ Résolu ] Barre de progression zenity avec dpluzz-cli

Bonjour à tous,

MicP a écrit :

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, à 11:43

cqfd93

Re : [ Résolu ] Barre de progression zenity avec dpluzz-cli

melixgaro a écrit :

à 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. big_smile

smile
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, à 11:51

MicP

Re : [ Résolu ] Barre de progression zenity avec dpluzz-cli

Dans son message #15, cqfd93 a écrit :

…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, à 12:00)

Hors ligne

#18 Le 10/04/2021, à 11:54

cqfd93

Re : [ Résolu ] Barre de progression zenity avec dpluzz-cli

MicP a écrit :

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, à 12: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, à 12: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, à 12:57

cqfd93

Re : [ Résolu ] Barre de progression zenity avec dpluzz-cli

melixgaro a écrit :

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, à 13: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, à 13:23

cqfd93

Re : [ Résolu ] Barre de progression zenity avec dpluzz-cli

melixgaro a écrit :

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, à 13: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, à 13: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