diff --git a/youtube-dl-install.sh b/youtube-dl-install.sh index 1ed2166..e4bb48f 100644 --- a/youtube-dl-install.sh +++ b/youtube-dl-install.sh @@ -1,73 +1,26 @@ #! /bin/bash +which zenity || echo "Zenity n'est pas installé, installer zenity et relancer le script." exit + #--------------------------------------------------------- # Variables #--------------------------------------------------------- -version="v0.4" -DATE_COMPRESS="$(date +%Y%m%d%H%M)" -binarypath="$HOME/bin/youtube-dl" -url="https://yt-dl.org/downloads/latest/youtube-dl" +binarypath="$HOME/bin/yt-dlp" +url="https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp" #--------------------------------------------------------- # Fonctions #--------------------------------------------------------- -f_CreationDossier () { -if [ ! -d "$1" ]; then -mkdir -p "$1" -echo "Le dossier $1 a été créé." -fi -} - f_TouchePourContinuer () { read -p "Presser une touche pour continuer ou ctrl+C pour arrêter." CONT } f_youtubedlinstall () { echo "Installation de la version autonome." -f_CreationDossier $HOME/bin/ +mkdir -p $HOME/bin/ wget --quiet $url -O $binarypath } -f_DetectEditor () { -if [ $(which mousepad) ]; then -echo "mousepad est installé." -editorytdl="mousepad" - -elif [ $(which pluma $devnl) ]; then -echo "pluma est installé." -editorytdl="pluma" - -elif [ $(which gedit $devnl) ]; then -echo "gedit est installé." -editorytdl="pluma" - -elif [ $(which geany $devnl) ]; then -echo "geany est installé." -editorytdl="pluma" - -elif [ $(which leafpad $devnl) ]; then -echo "leafpad est installé." -editorytdl="leafpad" - -elif [ $(which kate $devnl) ]; then -echo "kate est installé." -editorytdl="kate" - -elif [ $(which kwrite $devnl) ]; then -echo "kwrite est installé." -editorytdl="kwrite" - -elif [ $(which gvim $devnl) ]; then -echo "gvim est installé." -editorytdl="gvim" - -else -echo "Aucun éditeur trouvé, mon script ne sera pas fonctionnel sur votre installation." -exit - -fi -} - #--------------------------------------------------------- # Désinstallation #--------------------------------------------------------- @@ -81,7 +34,7 @@ rm -vi $HOME/.local/share/applications/youtube-dl-update.desktop rm -vi $HOME/.local/share/applications/youtube-dl-gui.desktop rm -vi $HOME/bin/youtube-dl-pseudogui.sh rm -vi $HOME/bin/youtube-dl-update.sh -rm -vi $HOME/bin/youtube-dl +rm -vi $binarypath exit fi @@ -89,7 +42,7 @@ fi # Intro #--------------------------------------------------------- echo "" -echo "youtube-dl-installs.sh" $version +echo "youtube-dl-installs.sh" cat << "EOF" par Djan GICQUEL (https://djan-gicquel.fr) Script mono-utilisateur @@ -98,8 +51,8 @@ Pour supprimmer les fichiers créé par ce script, ajouter --delete en option. Ce que fait ce script : - créer le dossier ~/bin/ -- télécharger le binaire de youtube-dl dans ~/bin -- ajouter des alias pour youtube-dl dans le .bashrc +- télécharger le binaire de yt-dlp dans ~/bin +- ajouter des alias pour yt-dlp dans le .bashrc - créer les scripts bash dans ~/bin - ajouter les lanceurs dans le menu principal @@ -108,8 +61,8 @@ Ce script ajoute deux nouvelles icones dans votre menu principal. - youtubedl-pseudogui ; qui permet de télécharger des vidéos - youtubedl-update ; qui permet de mettre à jour youtube-dl -Pour télécharger une ou plusieurs vidéos lancer "youtubedl-pseudogui" et coller les urls, une par ligne. -Puis enregistrez le fichier. Le téléchargement des vidéos commence. +Pour télécharger une ou plusieurs vidéos lancer "youtubedl-pseudogui" et coller l'url. +Valider, le téléchargement des vidéos commence. EOF @@ -123,23 +76,18 @@ clear f_youtubedlinstall -#--------------------------------------------------------- -# Detection éditeur de texte -#--------------------------------------------------------- -f_DetectEditor - #--------------------------------------------------------- # Ajout bashrc #--------------------------------------------------------- echo "Ajout dans bashrc...";sleep 2 cat << "EOF" >> $HOME/.bashrc -alias dl_video="~/bin/youtube-dl -f 'bestvideo[height<=480]+bestaudio/best[height<=480]' --restrict-filenames --output \"%(title)s\"" -alias dl_video_original="~/bin/youtube-dl --restrict-filenames --output \"%(title)s\"" -alias dl_musique="~/bin/youtube-dl --extract-audio --audio-format mp3 --restrict-filenames --output \"%(title)s.%(ext)s\"" -alias dl_playlist="~/bin/youtube-dl --yes-playlist --restrict-filenames --output \"%(title)s\"" -alias dl_playlistmp3="~/bin/youtube-dl --yes-playlist --extract-audio --audio-format mp3 --restrict-filenames --output \"%(title)s.%(ext)s\"" -alias youtube-dl-update="~/bin/youtube-dl -U" +alias dl_video="~/bin/yt-dlp -f 'bestvideo[height<=480]+bestaudio/best[height<=480]' --restrict-filenames --output \"%(title)s\"" +alias dl_video_original="~/bin/yt-dlp --restrict-filenames --output \"%(title)s\"" +alias dl_musique="~/bin/yt-dlp --extract-audio --audio-format mp3 --restrict-filenames --output \"%(title)s.%(ext)s\"" +alias dl_playlist="~/bin/yt-dlp --yes-playlist --restrict-filenames --output \"%(title)s\"" +alias dl_playlistmp3="~/bin/yt-dlp --yes-playlist --extract-audio --audio-format mp3 --restrict-filenames --output \"%(title)s.%(ext)s\"" +alias youtube-dl-update="~/bin/yt-dlp -U" EOF #--------------------------------------------------------- @@ -147,43 +95,36 @@ EOF #--------------------------------------------------------- echo "Création des scripts...";sleep 2 -# CreationFichierYoutubeDlPseudoGui +# Creation Fichier YoutubeDlPseudoGui cat << "EOF" >> $HOME/bin/youtube-dl-pseudogui.sh #! /bin/bash dir="$HOME/Téléchargements/" file="/tmp/youtubedlurl_$(date +%d%b%Y%H%M%S).txt" -youtubedlbinary="$HOME/bin/youtube-dl" -EOF +youtubedlbinary="$HOME/bin/yt-dlp" -echo "$editorytdl \$file" >> $HOME/bin/youtube-dl-pseudogui.sh - -cat << "EOF" >> $HOME/bin/youtube-dl-pseudogui.sh cd $dir -for line in $(cat $file); do - notify-send -t 20000 "Téléchargement vidéo commencé..." "$line" - $youtubedlbinary $line - +url=$(zenity --width 500 --entry --title "url à télécharger") +$youtubedlbinary $url if [ "$?" != "0" ]; then echo "Erreur, le script va s'arreter." - notify-send -t 20000 "Youtube-dl erreur" "Une erreur est survenue dans le téléchargement de $line" + notify-send -i ~/.icons/youtube.png "yt-dlp erreur" "Une erreur est survenue dans le téléchargement de $url" exit else - notify-send -t 20000 "Téléchargement vidéo terminé." "$line" + notify-send ~/.icons/youtube.png" "yt-dlp" "Téléchargement vidéo terminé." fi -done EOF -# CreationFichierYoutubeDlUpdate +# Creation Fichier YoutubeDlUpdate cat << "EOF" > $HOME/bin/youtube-dl-update.sh #! /bin/bash -return=$($HOME/bin/youtube-dl --update) -notify-send -t 20000 "youtube-dl" "$return" +return=$($HOME/bin/yt-dlp --update) +notify-send -t 20000 "yt-dlp" "$return" EOF # Droits des scripts chmod a+x $HOME/bin/youtube-dl-update.sh chmod a+x $HOME/bin/youtube-dl-pseudogui.sh -chmod a+x $HOME/bin/youtube-dl +chmod a+x $binarypath #--------------------------------------------------------- # Ajout des lanceurs