Custom Piped URL, improved code for interactive read prompts

This commit is contained in:
DarkCat09 2023-02-07 19:36:43 +04:00
parent e509fce91d
commit a24ebe8aff
2 changed files with 17 additions and 23 deletions

View file

@ -1,6 +1,6 @@
#!/usr/bin/env bash #!/usr/bin/env bash
debug=0 debug=1
watching=1 watching=1
links=() links=()
success=0 success=0
@ -43,6 +43,12 @@ bold () {
dlwith_piped () { dlwith_piped () {
bold 'Enter Piped API instance URL'
bold '(ytapi.dc09.ru is used by default)'
read -r pipedurl
pipedurl="${pipedurl:-ytapi.dc09.ru}"
pipedurl=$(echo "$pipedurl" | sed -E 's#https?://##')
bold 'Choose the type of stream: 1.audio or 2.video' bold 'Choose the type of stream: 1.audio or 2.video'
read -r stream_num read -r stream_num
if [[ $stream_num == 1 ]]; then if [[ $stream_num == 1 ]]; then
@ -56,15 +62,10 @@ dlwith_piped () {
jqexpr=".${stream}Streams|map(select(.videoOnly==false))|max_by(${maxby})" jqexpr=".${stream}Streams|map(select(.videoOnly==false))|max_by(${maxby})"
echo echo
bold 'Here is an expression for JQ utility.' bold 'Here is an expression for JQ utility'
echo 'Press Enter to leave it intact, or type another expression.' echo 'Correct it or just press Enter'
echo "$jqexpr" read -e -r -i "$jqexpr" newexpr
read -r newexpr jqexpr="${newexpr:-$jqexpr}"
if [[ $newexpr == "" ]]; then
:
else
jqexpr="$newexpr"
fi
echo echo
bold 'Started' bold 'Started'
@ -82,7 +83,7 @@ dlwith_piped () {
echo "Found YT video ID: $video_id" echo "Found YT video ID: $video_id"
echo "Requesting URL for $link" echo "Requesting URL for $link"
video_obj=$(curl -sL "https://ytapi.dc09.ru/streams/$video_id") video_obj=$(curl -sL "https://$pipedurl/streams/$video_id")
stream_obj=$(echo "$video_obj" | jq "$jqexpr") stream_obj=$(echo "$video_obj" | jq "$jqexpr")
stream_url=$(echo "$stream_obj" | jq ".url" | sed s/^\"// | sed s/\"$//) stream_url=$(echo "$stream_obj" | jq ".url" | sed s/^\"// | sed s/\"$//)
@ -135,14 +136,10 @@ dlwith_ytdlp () {
echo 'Use "b" without quotes for video and audio' echo 'Use "b" without quotes for video and audio'
echo ' "bv" to download only video' echo ' "bv" to download only video'
echo ' "ba" to download only audio' echo ' "ba" to download only audio'
echo 'details: https://github.com/yt-dlp/yt-dlp#format-selection' echo 'Defaults to "b" if an empty string is passed'
read -r format echo 'Details: https://github.com/yt-dlp/yt-dlp#format-selection'
read -e -r format
if [[ $format == "" ]]; then format="${format:-b}"
echo 'Passed an empty string,'
echo 'using "b" as default.'
format="b"
fi
echo echo
bold 'Started' bold 'Started'

View file

@ -6,10 +6,7 @@ mkdir -p ./convert
echo "Enter input files extension:" echo "Enter input files extension:"
echo "(empty string to match all)" echo "(empty string to match all)"
read -r ext_input read -r ext_input
ext_input="${ext_input:-*}"
if [[ $ext_input == "" ]]; then
ext_input="*"
fi
echo "Enter output files extension:" echo "Enter output files extension:"
echo "(must not be empty)" echo "(must not be empty)"