diff options
Diffstat (limited to 'bin')
-rwxr-xr-x | bin/yout2mp3 | 26 |
1 files changed, 24 insertions, 2 deletions
diff --git a/bin/yout2mp3 b/bin/yout2mp3 index 64e1bb1..74ed177 100755 --- a/bin/yout2mp3 +++ b/bin/yout2mp3 @@ -1,2 +1,24 @@ -#!/bin/sh -youtube-dl -i -o "%(title)s.%(ext)s" --restrict-filenames -x --audio-format mp3 "$@" +#! /bin/sh +set -euf +target_folder=${target-./} + +uri=$1 +id=$(echo "$uri" | sed -n 's@^https\?://www\.youtube\.com/watch?v=@@p' | sed 's/#.*$//') +script=$(readlink -f "$0") +basedir=$(dirname $script) + +mkdir -p $target_folder + +if ! echo "$id" | grep -q .; then + echo "[31mbad uri: $uri[m" >&2 + exit 23 +fi + +cd $target_folder + +if file=$(ls | grep "[-]$id\\.ogg\$"); then + echo "already done: $file in $target_folder" >&2 + exit +fi + +youtube-dl -i -o "%(title)s-%(id)s.%(ext)s" --restrict-filenames -x "$uri" --add-metadata --audio-format mp3 |