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 12/06/2015, à 13:42

JujuLand

Script de téléchargement automatique

Bon, j'ai fait un script à base de xdotool et wmctrl. Il permet d'automatiser le téléchargement d'une série sans avoir à rester devant l'ordi.

Le principe est, avant usage du script, d'aller manuellement sur la page qui donne les liens courts des épisodes. Copier, et coller dans un fichier texte, en insérant en début de chaque ligne '#1 ', '#2 ', ...
Ensuite on ouvre firefox (avant le script, car des fois, il est trop long à ouvrir, et mon script plante)
Et, dans un terminal, on lance la commande dserie liste.txt [numéro] ou numéro est le premier épisode à prendre en compte.

Voici le script:

#!/bin/bash

# dserie : Télécharger automatiquement une série sur 1fichier.com
progvers=1.03
progdate=2015-06-12
progdev="Alain Aupeix"

. colors

if [ "$1" = "" ]
then
   echo " "
   echo -e "dserie$gCya v$progvers$gGre (c)$gYel$progdate $gRed$progdev$noColor"
   echo " "
   echo -e "Syntaxe : $gGre dserie$gCya <serie.txt>$gYel [numéro]$noColor"
   echo -e "     Ex : $gGre dserie$gCya Mad_men2.txt$gYel 2$noColor"
   echo " "
   exit
fi
cd ~/Vidéos
process=$(ls -ail $1 | grep -e $1 |  grep -v "grep" |wc -l)
if [ $process = 0 ]
then
   echo " "
   echo -e "$gRed Attention :$gGre Fichier$gCya $1$gGre non trouvé ...$noColor"
   echo " "
   exit
fi

if [ "x$2" == "x" ]
then
   pass=1
else
   pass=$2
fi

myconsole=$(xdotool getactivewindow)
already=0
cmd= ls 1>/dev/null
while $cmd; do
   myurl=$(cat $1 | grep "#$pass "| awk '{print $2}')
   echo "#$pass $myurl"
   pass=$(($pass+1))
   firefox $myurl
   echo "lancement de : firefox $myurl"
   sleep 5
   xdotool windowactivate $(wmctrl -l|grep 1fichier.com| awk '{print $1}')
   sleep 2
   xdotool keydown Page_Down
   sleep 1
   xdotool mousemove 640 760
   sleep 1
   xdotool click 1
   sleep 5
   xdotool windowactivate $myconsole
   myfile=""
   echo "lancement du téléchargement ..."
   while $cmd; do
      mydown=$(ls -1 $HOME/Téléchargements/*.part 2>/dev/null|sed -e "s|$HOME/Téléchargements/||"|sed "s/.part//")
      if [ "x$mydown" == "x" ]
      then
         mv $HOME/Téléchargements/$myfile .
         break
      else
         if [ "x$myfile" == "x" ]
         then
            myfile=$mydown
         fi
         echo -e "$gGre Patience téléchargement en cours...$noColor"
         echo $myfile
         if [ $already == 0 ]
         then
            already=1
            xdotool key Return
         fi
      fi
      sleep 60
   done
   if [ "x$mydown" == "x" ]
   then
      break
   fi
   already=0
   echo -e "$gRed Attente de 15mn 05s ...$noColor"
   sleep 905
done

Le source n'est pas très difficile à comprendre, et fonctionne bien (enfin fonctionnait).
Le problème est que, immédiatement après le lancement du téléchargement, et retour sur la console, j'ai toute une série de caractères qui sont reçus par le terminal: ^[[6 ^[[6 ^[[6 ^[[6 ... çà ne s'arrête plus
Au début, je faisait Entrée manuellement, çà arrêtait cette envoi ou réception, et la boucle fonctionnait.
J'ai voulu stopper ce truc, et ai inséré l'envoi de la touche Entrée avec xdotool.
Cà l'arrête bien, mais je me suis aperçu hier soir que d'autre caractères parasites sont reçus, et me plantent le script qui s'arrête en fin de téléchargement du premier fichier après déplacement du fichier.

alain@Gramps-JujuLand:~/Vidéos$ dserie Mad_men3.txt 2
#2 http://ry5rv27dxe.1fichier.com/
lancement de : firefox http://ry5rv27dxe.1fichier.com/
lancement du téléchargement ...
 Patience téléchargement en cours...
MM.F3.02.zone-telechargement.com.avi
^[[6~^[[6~^[[6~
 Patience téléchargement en cours...
MM.F3.02.zone-telechargement.com.avi
...
MM.F3.02.zone-telechargement.com.avi
alain@Gramps-JujuLand:~/Vidéos$ ~~~
~~~ : commande introuvable
alain@Gramps-JujuLand:~/Vidéos$ 

Quelqu'un as-t-il une idée de ce qui pourrait se passer ?

Merci
A+

Dernière modification par JujuLand (Le 21/06/2015, à 09:07)


Xubuntu 16.04 > Dell DM061 (2007) + Dell Inspiron 531 (2008)
Xubuntu 16.04 > Asus X51L (2009) + MSI GX723 (2009)
Xubuntu 22.04 > HP 15BA048NF (2018)

Hors ligne

#2 Le 12/06/2015, à 13:56

JujuLand

Re : Script de téléchargement automatique

Voici exactement ce que j'ai :

 Patience téléchargement en cours...
MM.F3.03.zone-telechargement.com.avi
alain@Gramps-JujuLand:~/Vidéos$ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ : commande introuvable
alain@Gramps-JujuLand:~/Vidéos$ 

A+


Xubuntu 16.04 > Dell DM061 (2007) + Dell Inspiron 531 (2008)
Xubuntu 16.04 > Asus X51L (2009) + MSI GX723 (2009)
Xubuntu 22.04 > HP 15BA048NF (2018)

Hors ligne

#3 Le 12/06/2015, à 15:40

JujuLand

Re : Script de téléchargement automatique

Bon, après plusieurs test, la solution est par là:

   while $cmd; do
      mydown=$(ls -1 $HOME/Téléchargements/*.part 2>/dev/null|sed -e "s|$HOME/Téléchargements/||"|sed "s/.part//")
      if [ "x$mydown" == "x" ]
      then
         if [ -a $HOME/Téléchargements/$myfile ]
         then  
            mv $HOME/Téléchargements/$myfile .
         fi
         read toto
         xdotool key return
         break
      else

Le read vide bien le buffer, mais il bloque, et le script ne peut pas continuer. D'ailleurs le return est inutile.

En fait, je me souviens, que je ne faisais pas return, mais espace, ce qui avait pour effet, juste de stopper l'affichage de ces caractères.
Sur les téléchargements suivants, ne faisant pas espace, çà devait continuer à afficher çà jusqu'à la fin du téléchargement,mais çà ne plantait pas le script (je n'étais pas devant, mais au lit smile )

La solution serait de vider le buffer et de ne pas attendre ensuite un return
J'ai bien essayé de compiler çà :

#include <stdio.h> 
  
void main(void) 
{ 
    int c; 
  
    do { 
        c = getchar(); 
    } while (c != '\n' && c != EOF); 
}

mais çà attends, çà ne sort semble-t-il pas de la boucle, et le problème est le même.
Bien sûr, il n'y a pas de return, mais je pensais bêtement que eof() voulait dire la fin du buffer clavier.
Je viens de m'apercevoir que c'est ctrl-D (pour linux)

La solution serait peut être donc çà :

         xdotool key return
         videkb
         break

j'insèrerai donc un retour chariot dans le buffer, et le viderait avec videkb qui, trouvant un return sortirait, et le script continuerait ...

Vos avis ?

Dernière modification par JujuLand (Le 12/06/2015, à 15:45)


Xubuntu 16.04 > Dell DM061 (2007) + Dell Inspiron 531 (2008)
Xubuntu 16.04 > Asus X51L (2009) + MSI GX723 (2009)
Xubuntu 22.04 > HP 15BA048NF (2018)

Hors ligne

#4 Le 12/06/2015, à 15:43

credenhill

Re : Script de téléchargement automatique

hello
qu'est sensé contenir cmd ?

cmd= ls 1>/dev/null
while $cmd; do

Hors ligne

#5 Le 12/06/2015, à 16:01

JujuLand

Re : Script de téléchargement automatique

C'est simplement, ou plutôt de manière compliquée smile un moyen de dire 'tant que vrai faire' une boucle infinie dont on ne sort que par le break

Apparemment la dernière solution ne semble pas fonctionner, je cherche encore.

A+


Xubuntu 16.04 > Dell DM061 (2007) + Dell Inspiron 531 (2008)
Xubuntu 16.04 > Asus X51L (2009) + MSI GX723 (2009)
Xubuntu 22.04 > HP 15BA048NF (2018)

Hors ligne

#6 Le 12/06/2015, à 17:26

Watael

Re : Script de téléchargement automatique

salut,

au pays de Juju, on fait des téléchargements non-interactifs avec firefox.
?
dans celui de n'importe quel "scripter", on utilise wget !
si le lien à atteindre est sur une page, on la télécharge, on retrouve le lien, et on télécharge la cible.

ls est un faux-ami, qui peut, avec profit, être remplacé par les globbing shell.
sans oublier les UUOC.

ça sent le bricolage.
conçoit un algorithme solide, sans ambiguité, ni redite, et lis le guide de l'utilisateur de bash.

Dernière modification par Watael (Le 12/06/2015, à 17:27)


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#7 Le 12/06/2015, à 17:50

JujuLand

Re : Script de téléchargement automatique

Non, ils sont interactifs, il faut après avoir lancé le lien court récupéré avant le script, cliquer sur un bouton (du javascript, probablement).
Donc je ne pense pas que le wget soit utilisable.
Le wget, je l'utilise énormement, mais pas dans ce cas là !
Maintenant, si tu sais faire, montre-moi ...

globbing, uuoc, connais pas. Je regarderai çà

Y'a pas de honte à être bricoleur ... je ne renie rien.
Quand au guide de l'utilisateur bash, j'y vais de temps en temps ...

Mais tout çà ne résout pas mon problème d'émission de caractères parasites dans stdin.

A+

Dernière modification par JujuLand (Le 21/06/2015, à 14:57)


Xubuntu 16.04 > Dell DM061 (2007) + Dell Inspiron 531 (2008)
Xubuntu 16.04 > Asus X51L (2009) + MSI GX723 (2009)
Xubuntu 22.04 > HP 15BA048NF (2018)

Hors ligne

#8 Le 12/06/2015, à 18:02

Watael

Re : Script de téléchargement automatique

y a pas de mal à être bricoleur, mais il faut que ça tienne debout.
si ça se casse la gueule tout le temps, tu vas entendre bobonne ! smile


ok, on a la page, mais c'est quel lien ?


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#9 Le 12/06/2015, à 18:26

JujuLand

Re : Script de téléchargement automatique

Telecharger

<input type="submit" value="Télécharger" style="float:none;margin:auto;font-weight:bold" class="ok btn-general btn-orange" />

A+


Xubuntu 16.04 > Dell DM061 (2007) + Dell Inspiron 531 (2008)
Xubuntu 16.04 > Asus X51L (2009) + MSI GX723 (2009)
Xubuntu 22.04 > HP 15BA048NF (2018)

Hors ligne

#10 Le 21/06/2015, à 09:21

JujuLand

Re : Script de téléchargement automatique

Bon, en attendant une solution que je ne pense d'ailleurs pas possible avec du wget, j'ai amélioré mon script, et résolu, notamment, le problème de caractères envoyés au buffer de clavier. Il s'agissait en fait de l'utilisation d'un paramètre incorrect (utilisation de keydown au lieu de key) de xdotool.

J'ai ensuite intégré la connexion au compte, et amélioré la synchronisation en ajustant les attentes, et en mettant un garde-fou lors du déplacement  du fichier vers Vidéos
Quelques affichages plus informatifs, et deux ou trois séries téléchargées sans soucis, et tout semble nickel.
Enfin, j'ai intégré une gestion de l'arrêt de l'ordi, afin d'éviter les messages désagréables de Firefox.

Seul petit soucis, et c'est juste esthétique, de temps en temps, des messages de fonctionnement de Firefox.

Sinon, voici un écran :

alain@Gramps-JujuLand:~$ dserie Mad_men7.txt 6
Mad_men7.txt : 9 épisodes à télécharger
#6 https://<lien6>
lancement de : firefox https://<lien6>
lancement du téléchargement ...
 Patience téléchargement en cours...
 MadMen.S07E06.FRENCH.HDTV.XviD-RNT-www.Zone-Telechargement.com.avi
 ...
 Patience téléchargement en cours...
 MadMen.S07E06.FRENCH.HDTV.XviD-RNT-www.Zone-Telechargement.com.avi
 Déplacement de MadMen.S07E06.FRENCH.HDTV.XviD-RNT-www.Zone-Telechargement.com.avi vers /home/alain/Vidéos
 Attente de 15mn 05s ... Prochain téléchargement à 12:11
 ...

Voici comment est structuré un fichier liste. Les url courtes sont récupérées, en préalable, sur le site de streaming/téléchargement. L'ajout de la numération, avec cette syntaxe est impérative pour le fonctionnement du script.

#1 https://lien1
#2 https://lien2
#3 https://lien3
....

Voici donc le code de la dernière version:

##!/bin/bash

# dserie : Télécharger automatiquement une série sur 1fichier.com
progvers=1.20
progdate=2015-06-20
progdev="Alain Aupeix"

. colors

# Test paramètres
if [ "$1" = "" ]
then
   echo " "
   echo -e "dserie$gCya v$progvers$gGre (c)$gYel$progdate $gRed$progdev$noColor"
   echo " "
   echo -e "Syntaxe : $gGre dserie$gCya <serie.txt>$gYel [numéro]$noColor"
   echo -e "     Ex : $gGre dserie$gCya Mad_men2.txt$noColor"
   echo -e "          =>$gRed sans$gBlu forçage du numéro$gGre (début à 1, donc)$noColor"
   echo -e "     Ex : $gGre dserie$gCya Mad_men2.txt$gYel 2$noColor"
   echo -e "          =>$gRed avec$gBlu forçage du numéro$noColor"
   echo -e "     Ex : $gGre dserie$gCya Mad_men2.txt$gYel 0$noColor"
   echo -e "          =>$gRed sans$gBlu connexion préalable à 1fichier.com$gGre (début à 1, donc)$noColor"
   echo -e "     Ex : $gGre dserie$gCya Mad_men2.txt$gYel 0$gWhi 2$noColor"
   echo -e "          =>$gRed avec$gBlu connexion préalable à 1fichier.com avec forçage du numéro$noColor"
   echo " "
   exit
fi

# Test existence fichier liste
cd ~/Vidéos
process=$(ls -ail $1 | grep -e $1 |  grep -v "grep" |wc -l)
if [ $process = 0 ]
then
   echo " "
   echo -e "dserie$gCya v$progvers$gGre (c)$gYel$progdate $gRed$progdev$noColor"
   echo " "
   echo -en "$gRed"   
   echo -e "Attention :$gGre Fichier$gCya $1$gGre non trouvé ...$noColor"
   echo " "
   exit
fi


# Test rang téléchargement
if [ "x$2" == "x" ]
then
   pass=1
else
   if [ "$2" == "0" ]
   then
      cnx="1"
      if [ "x$3" == "x" ]
      then
         pass=1 
      else
         pass=$3
      fi
   else
      pass=$2
   fi
fi

nombre=$(cat $1 | grep "#" | wc -l)
nombre=$(($nombre+1))
nombre=$(($nombre-$pass))
echo -e "$1 :$gGre $nombre$noColor épisodes à télécharger"

myconsole=$(xdotool getactivewindow)

# Lancement de la connexion à 1fichier.com
if [ "x$cnx" == "x" ]
then
   firefox http://www.bidon.fr 1>/dev/null 2>/dev/null &
   sleep 12
   myfox=$(wmctrl -l|grep "Mozilla Firefox"| awk '{print $1}')
else
   firefox https://1fichier.com/console/index.pl 1>/dev/null 2>/dev/null &
   sleep 12
   myfox=$(wmctrl -l|grep 1fichier.com| awk '{print $1}')
fi

vrai=0
myurl=$(cat $1 | grep "#$pass "| awk '{print $2}')

if [ "x$myurl" == "x" ]
then
   vrai=1
fi

while [ $vrai == 0 ]; do
   echo "#$pass $myurl"
   firefox $myurl 1>/dev/null 2>/dev/null &
   echo "lancement de : firefox $myurl"
   sleep 2
   xdotool windowactivate $myfox
   sleep 7
   xdotool key Page_Down
   sleep 1
   xdotool mousemove 640 730
   sleep 1
   xdotool click 1
   sleep 5
   xdotool windowactivate $myconsole
   echo "lancement du téléchargement ..."
   sleep 10
   myfile=""
   while [ $vrai == 0 ]; do
      mydown=$(ls -1 $HOME/Téléchargements/*.part 2>/dev/null|sed -e "s|$HOME/Téléchargements/||"|sed "s/.part//")
      if [ "x$mydown" == "x" ]
      then
         if [ -a $HOME/Téléchargements/$myfile ]
         then
            echo -e "Déplacement de $myfile vers $HOME/Vidéos"
            mv $HOME/Téléchargements/$myfile ~/Vidéos
         fi
         break
      else
         if [ "x$myfile" == "x" ]
         then
            myfile=$mydown
         fi
         echo -e "$gGre Patience téléchargement en cours...$noColor"
         echo -e "$gCya $myfile$noColor"
      fi
      sleep 60
   done
   # Test déplacement à tort de Téléchargement, et restauration, le cas échéant
   if [ -a $HOME/Vidéos/Téléchargements ]
   then
      echo -e "$gRed Pas de téléchargement !!!$gCya Reprendre au numéro$gGre $pass$noColor"
      mv $HOME/Vidéos/Téléchargements ~
      break
   fi
   pass=$(($pass+1))
   myurl=$(cat $1 | grep "#$pass "| awk '{print $2}')
   if [ "x$myurl" == "x" ]
   then
      break
   fi
   # Attente inter-téléchargements par défaut 15 mn
   test=$(date +%s)
   test=$(($test+905))
   prochain=$(date --date "@$test" +%H:%M)
   echo -e "$gRed Attente de 15mn 05s ...$noColor Prochain téléchargement à$gCya $prochain$noColor"
   sleep 905
done
# Fermeture de Firefox, afin d éviter, lors le l utilisation de auto-halt,
# de fermer Firefox brutalement, et d avoir un message d'erreur à l'ouverture
# de Firefox au lancement suivant.
if [ $(ps -aef | grep -e "sudo auto-halt" | grep -v "grep" |wc -l) == "1" ]
then
   xdotool windowactivate $myfox
   xdotool selectwindow windowkill
   xdotool click 1
fi

Voici le code de auto-halt qui permet d'arrêter l'ordi à la fin des téléchargements (prévus pour d'autres téléchargement : dpluzz-cli, pluzzdl, rtmpdump)

#!/bin/bash

# auto-halt : Arrêter linux à la fin d'un téléchargement
progvers=1.02
progdate=2015-06-07
progdev="Alain Aupeix"

# You must add theses lines in sudoers using
# sudo visudo
# you will need to remove # before %users

# No passwd for auto-halt and auto-down
#%users  ALL=NOPASSWD: /usr/local/bin/auto-halt
#%users  ALL=NOPASSWD: /usr/local/bin/auto-down

. colors

if [ "$1" = "" ]
then
   echo " "
   echo -e "auto-halt$gCya v$progvers$gGre (c)$gYel$progdate $gRed$progdev$noColor"
   echo " "
   echo -e "Syntaxe  : $gRed sudo$gGre auto-halt$gCya process$gRed program$noColor"
   echo " "
   echo -e "Exemples : $gRed sudo$gGre auto-halt$gCya rtmpdump$gRed qarte$noColor"
   echo -e "           $gRed sudo$gGre auto-halt$gCya pluzzdl$gRed fictif$noColor"
   echo -e "           $gRed sudo$gGre auto-halt$gCya dpluzz-cli$gRed dpluzz$noColor"
   echo -e "           $gRed sudo$gGre auto-halt$gCya dserie$gRed fictif$noColor"
   echo " "
   exit
fi

if [ "$2" = "" ]
then
   echo " "
   echo -e "Syntaxe  : $gRed sudo$gGre auto-halt$gCya process$gRed program$noColor"
   echo " "
   echo -e "Exemples : $gRed sudo$gGre auto-halt$gCya rtmpdump$gRed qarte$noColor"
   echo -e "         : $gRed sudo$gGre auto-halt$gCya pluzzdl$gRed fictif$noColor"
   echo -e "         : $gRed sudo$gGre auto-halt$gCya dpluzz-cli$gRed dpluzz$noColor"
   echo -e "           $gRed sudo$gGre auto-halt$gCya dserie$gRed fictif$noColor"
   echo " "
   exit
fi

sleep 5
process=$(ps -aef | grep -e $1 | grep -v "auto" | grep -v "grep" |wc -l)
if [ $process = 0 ]
then
   echo " "
   echo -e "$gRed Attention :$gGre auto-halt$noColor doit être lancé$gYel après$gCya $1$noColor"
   echo " "
   exit
fi

pass=0
cmd= ls 1>/dev/null
while $cmd; do
   process=$(ps -aef | grep -e $1 | grep -v "auto" | grep -v "grep" |wc -l)
   if [ $process = 0 ]
   then
      break
   else
      if [ $pass = 0 ]
      then
         pass=1
         echo -e "$gRed Attente de fin de traitement ...$noColor"
      else
         echo -e "$gGre Patience ...$noColor"
      fi
   fi
   sleep 60
done

if [ $2 != "fictif" ]
then
   process=$(ps -aef | grep $2 | grep -v "auto" | grep -v "grep" | awk '{print $2}')
   kill -9 $process
   sleep 5
fi
echo -e "$gRed Arrêt de l'ordi !!!$noColor"
sudo halt -p

Et un autre : auto-down pour des téléchargements firefox autres que dserie

#!/bin/bash

# auto-down : Arrêter linux à la fin d'un téléchargement
# v 1.01 - 2015-02-13 (c) Alain Aupeix

# You must add theses lines in sudoers using
# sudo visudo
# you will need to remove # before %users

# No passwd for auto-halt and auto-down
#%users  ALL=NOPASSWD: /usr/local/bin/auto-halt
#%users  ALL=NOPASSWD: /usr/local/bin/auto-down

. colors

if [ "$1" = "" ]
then
   echo " "
   echo -e "Syntaxe  : $gRed sudo$gGre auto-down$gYel *.part$noColor"
   echo " "
   exit
fi

sleep 5
process=$(sudo ls ~/Téléchargements/$1 2>/dev/null|wc -l)
if [ $process = 0 ]
then
   echo " "
   echo -e "$gRed Attention :$gGre auto-down$noColor doit être lancé$gYel après avoir lancé le téléchargement$noColor"
   echo " "
   exit
fi

pass=0
cmd= ls 1>/dev/null
while $cmd; do
   process=$(sudo ls ~/Téléchargements/$1|wc -l)
   if [ $process = 0 ]
   then
      break
   else
      if [ $pass = 0 ]
      then
         pass=1
         echo -e "$gRed Attente de fin de traitement ...$noColor"
      else
         echo -e "$gGre Patience ...$noColor"
      fi
   fi
   sleep 60
done

echo -e "$gRed Arrêt de l'ordi !!!$noColor"
sudo halt -p

Et, comme j'utilise des couleurs: colors

#!/bin/bash

# Définition des couleurs
# Arrière-plan
export bBla='\033[40m'
export bRed='\033[41m'
export bGre='\033[42m'
export bYel='\033[43m'
export bBlu='\033[44m'
export bMag='\033[45m'
export bCya='\033[46m'
export bWhi='\033[47m'
# Normal
export fBla='\033[30m'
export fRed='\033[31m'
export fGre='\033[32m'
export fYel='\033[33m'
export fBlu='\033[34m'
export fMag='\033[35m'
export fCya='\033[36m'
export fWhi='\033[37m'
# Caractère Normal
export gBla='\033[1;30m'
export gRed='\033[1;31m'
export gGre='\033[1;32m'
export gYel='\033[1;33m'
export gBlu='\033[1;34m'
export gMag='\033[1;35m'
export gCya='\033[1;36m'
export gWhi='\033[1;37m'
# Sans couleur
export noColor='\033[0m'
# Déplacements sur l'écran:
export mho='\033[0H'
export men='\033[0F'
export mle='\033[0D'
export mri='\033[0C'
export mup='\033[0A'
export mdo='\033[0B'

Pour résumer, il faut avoir installé wmctrl et xdotool en préalable.
Ainsi que ces trois scripts dans le path (/usr/local/bin, par exemple)

sudo apt-get install wmctrl xdotool

Seul problème résiduel, lorsque le téléchargement echoue coté serveur, la boucle d'attente de téléchargement est infinie. C'est imparable, sinon à comparer les tailles en fin d'attente dans la boucle de téléchergement. Mais çà ne m'est arrivé qu'une fois.

De plus, je viens de m'apercevoir que mon calcul de début du prochain téléchargement parfois donne des valeurs fantaisiste. Pourtant, il me semblait après quelque tests, que c'était correct.

A+

Dernière modification par JujuLand (Le 21/06/2015, à 14:57)


Xubuntu 16.04 > Dell DM061 (2007) + Dell Inspiron 531 (2008)
Xubuntu 16.04 > Asus X51L (2009) + MSI GX723 (2009)
Xubuntu 22.04 > HP 15BA048NF (2018)

Hors ligne

#11 Le 21/06/2015, à 09:29

melixgaro

Re : Script de téléchargement automatique

salut,

sinon tu utilises un logiciel qui fait déjà tout ça très bien, comme jdownloader


Linux depuis ~2007. Xubuntu seulement.

Hors ligne

#12 Le 21/06/2015, à 10:13

JujuLand

Re : Script de téléchargement automatique

Salut,

Je ne connaissais pas, mais il me semble qu'il ne fait qu'un téléchargement. Il faudrait donc l'inclure dans une boucle du style de ce que je propose pour avoir en automatique l'ensemble d'une série, par exemple ...

A+

Dernière modification par JujuLand (Le 21/06/2015, à 10:19)


Xubuntu 16.04 > Dell DM061 (2007) + Dell Inspiron 531 (2008)
Xubuntu 16.04 > Asus X51L (2009) + MSI GX723 (2009)
Xubuntu 22.04 > HP 15BA048NF (2018)

Hors ligne

#13 Le 21/06/2015, à 11:22

JujuLand

Re : Script de téléchargement automatique

Après quelques tests et une lecture plus assidue du man, j'ai ajouté le TZ, mais je bute encore sur çà, et le résultat de $prochain est incorrect

#!/bin/bash

date
test=$(date --date='TZ="Europe/Paris"' +%s)
echo $test
test=$(($test+905)) # 905 = 15 mn et 5 s
echo $test
prochain=$(TZ="Europe/Paris" date --date "@$test" +%H:%S)
echo $prochain

Si quelqu'un peut pointer l'endroit où je me plante ...

Merci
A+


Xubuntu 16.04 > Dell DM061 (2007) + Dell Inspiron 531 (2008)
Xubuntu 16.04 > Asus X51L (2009) + MSI GX723 (2009)
Xubuntu 22.04 > HP 15BA048NF (2018)

Hors ligne

#14 Le 21/06/2015, à 11:43

Hizoka

Re : Script de téléchargement automatique

jdownloader : tu lui donne une liste fichiers à downloader et il te les charge un a un ou par plusieurs si tu as un compte premium ou alldebrid par exemple.

Tu n'as rien à faire, un simple copier des liens et hop il les ajoute lui même...

et si t'as une page qui contient plusieurs liens, il fait des recherches dans la page pour chopper les liens.


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

Hors ligne

#15 Le 21/06/2015, à 12:57

JujuLand

Re : Script de téléchargement automatique

Bon, j'ai trouvé ma connerie:

%H%S au lieu de %H%M hmm

Pour ce qui est de jdownloader, j'essaierai, notamment pour ce qui n'est pas sur 1fichier.

J'ai corrigé l'erreur dans le script sur le post #10
Merci
A+


Xubuntu 16.04 > Dell DM061 (2007) + Dell Inspiron 531 (2008)
Xubuntu 16.04 > Asus X51L (2009) + MSI GX723 (2009)
Xubuntu 22.04 > HP 15BA048NF (2018)

Hors ligne

#16 Le 21/06/2015, à 14:30

melixgaro

Re : Script de téléchargement automatique

à JujuLand
au fait, pourrais-tu éditer tes messages #7 et #10 et rapidement supprimer tous les liens qui pointent vers des vidéos stp ? c'est a minima contraire au règlement de ce forum !


Linux depuis ~2007. Xubuntu seulement.

Hors ligne

#17 Le 21/06/2015, à 14:58

JujuLand

Re : Script de téléchargement automatique

ok, rectifié ..


Xubuntu 16.04 > Dell DM061 (2007) + Dell Inspiron 531 (2008)
Xubuntu 16.04 > Asus X51L (2009) + MSI GX723 (2009)
Xubuntu 22.04 > HP 15BA048NF (2018)

Hors ligne