mirror of https://framagit.org/kyodev/kyopages.git
nouveau depot
This commit is contained in:
parent
adcb2e1f57
commit
be2ada7907
|
@ -0,0 +1,79 @@
|
|||
#!/bin/bash
|
||||
# easyYoutubeDl
|
||||
# v-0.3
|
||||
# naguam
|
||||
|
||||
# $1=url, return 0|1, assigne $retour_entete si erreur
|
||||
test_url(){ #30.12.2017
|
||||
local user_agent="Mozilla/5.0 Firefox" entete
|
||||
|
||||
entete=$( wget --server-response --spider --timeout=5 --tries=2 --user-agent="$user_agent" "$1" -O - 2>&1)
|
||||
if grep -iq 'HTTP/.*200 OK' <<< "$entete"; then
|
||||
return 0 # retour HTTP/ 200 OK dans les entêtes
|
||||
else
|
||||
retour_entete=$( grep -i 'HTTP/' <<< "$entete" | tr -d '\n' | xargs )
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
# [$1=message à afficher] et exit 1
|
||||
die(){ # 31.12.2017
|
||||
local RED="$(printf "\033[0;31m")" STD="$(printf "\033[0m")"
|
||||
|
||||
echo -e "$RED\nErreur critique:STD $*\n"
|
||||
exit 1
|
||||
}
|
||||
|
||||
|
||||
|
||||
# Set des expressions régulières nécessaires au test URL
|
||||
regex='(https?)://[-A-Za-z0-9\+&@#/%?=~_|!:,.;]*[-A-Za-z0-9\+&@#/%=~_|]'
|
||||
|
||||
# Enregistrement de l'URL dans une variable
|
||||
# read -p "Tappez l'url d'une vidéo ou d'une playlist : " url
|
||||
|
||||
###### tests ######
|
||||
# url="https://www.youtube.com/watch?v=Q6c8X_s1h9Y"
|
||||
# url="https://www.youtube.com/nimportequoi"
|
||||
# format="ogg"
|
||||
###################
|
||||
|
||||
while [ -z $done ]; do # remettre -z les tests finis
|
||||
read -p "Tappez l'url d'une vidéo ou d'une playlist valide: " url
|
||||
[[ "$url" =~ $regex ]] && done="ok"
|
||||
done
|
||||
|
||||
|
||||
# Enregistrement du format voulu
|
||||
unset done
|
||||
while [ -z $done ]; do # remettre -z les tests finis
|
||||
read -p "Tapper le format: ogg ou mp3! : " format
|
||||
format=${format,,}
|
||||
[[ "$format" == 'ogg' || "$format" == 'mp3' ]] && done="ok"
|
||||
done
|
||||
|
||||
if [ "$format" == 'ogg' ]; then
|
||||
format='vorbis'
|
||||
fi
|
||||
|
||||
|
||||
test_url "$url" || die "$retour_entete ($url)\n url en défaut\n . vérifier la saisie\n" \
|
||||
" . ou recommencer dans un moment\n . ou l'url est devenue invalide"
|
||||
|
||||
echo "tout a l'air ok"
|
||||
|
||||
youtube-dl --extract-audio --audio-format "$format" "$url"
|
||||
|
||||
# Possibilitées et idées
|
||||
|
||||
|
||||
# <kyodev> mais en gros, dans la regex: .*youtu.*\.{1}[be|com].*
|
||||
|
||||
|
||||
|
||||
# si l'url a toujours la même structure:
|
||||
# si la saisie ne commence pas par http alors url='https://www.youtube.com/watch?v='+"$url"
|
||||
# plus simple pour l'utilisateur à saisir
|
||||
# si url contient list= alors telle url
|
||||
# si contient watch alors autre tyrpe
|
||||
# sinon url = saisie seulement
|
Loading…
Reference in New Issue