====== Interfaccia grafica a youtube-dl tramite zenity ======
Autore: **//Fabio Di Matteo//** \\ Ultima revisione: **//21/02/2018 - 09:30//** \\ \\
{{:programmazione:bash:my-youtube-dl.png|}}
Di seguito un piccolo script che fornisce un'interfaccia grafica a [[https://rg3.github.io/youtube-dl/|Youtube-dl]] .
Richiede bash,zenity,xterm
**my-youtube-dl** (da copiare in /usr/local/bin/)
#!/bin/bash
DIRECTORY=/home/$USER/Download/youtube
url=$(zenity --title='Scarica da youtube e altri' --width=600 --cancel-label='Esci' --ok-label='Scarica!' --entry --text "Inserisci il collegamento al video")
if [ ! -z "$url" ]; then
if [ ! -d "$DIRECTORY" ]; then
mkdir -p $DIRECTORY
fi
cd $DIRECTORY
echo $url
xterm -e "youtube-dl $url"
zenity --width=250 --info --text "Scaricamento terminato.\n Puoi trovare il video in $DIRECTORY . "
fi
**myyoutubedl.desktop** (da copiare in /usr/share/applications)
#!/usr/bin/env xdg-open
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Icon=qv4l2
Icon[it_IT]=qv4l2
Name[it_IT]=Scaricatore youtube
Exec=my-youtube-dl
Comment[it_IT]=Scarica da youtube
Name=Scaricatore youtube
Comment=Scarica da youtube
Categories=Network;
===== Aggiungiamo il supporto allo scaricamento dell'audio =====
#!/bin/bash
DIRECTORY=/home/$USER/Scaricati/youtube
url=$(zenity --title='Scarica da youtube e altri' --width=600 --cancel-label='Esci' --ok-label='Avanti' --entry --text "Inserisci il collegamento al video")
function downloadVideo(){
if [ ! -d "$DIRECTORY" ]; then
mkdir -p $DIRECTORY
fi
cd $DIRECTORY
echo $url
xterm -e "youtube-dl $url"
zenity --width=250 --info --text "Scaricamento terminato.\n Puoi trovare il video in $DIRECTORY . "
}
function downloadAudio(){
if [ ! -d "$DIRECTORY" ]; then
mkdir -p $DIRECTORY
fi
cd $DIRECTORY
echo $url
xterm -e "youtube-dl --extract-audio --audio-format mp3 $url"
zenity --width=250 --info --text "Scaricamento terminato.\n Puoi trovare il video in $DIRECTORY . "
}
if [ ! -z "$url" ]; then
opt=$(zenity --list --radiolist --title="Opzioni di scaricamento" --text="Vuoi scaricare audio o video?" \
--add-entry="File:" --column="Scelta" --column="Flusso" TRUE VIDEO False AUDIO --ok-label='Scarica!')
if [ "$opt" == "VIDEO" ]; then
downloadVideo
fi
if [ "$opt" == "AUDIO" ]; then
downloadAudio
fi
fi