diff options
-rw-r--r-- | odin/strm.nix | 4 | ||||
-rwxr-xr-x | odin/strm/download_youtube | 6 |
2 files changed, 6 insertions, 4 deletions
diff --git a/odin/strm.nix b/odin/strm.nix index 82ba2bdb..8c88514e 100644 --- a/odin/strm.nix +++ b/odin/strm.nix | |||
@@ -6,7 +6,9 @@ stdenv.mkDerivation { | |||
6 | 6 | ||
7 | phases = [ "unpackPhase" "buildPhase" "installPhase" ]; | 7 | phases = [ "unpackPhase" "buildPhase" "installPhase" ]; |
8 | 8 | ||
9 | inherit zsh ffmpeg-full youtube-dl pv notmuch; | 9 | inherit zsh pv notmuch; |
10 | ffmpeg = ffmpeg-full; | ||
11 | youtubedl = youtube-dl; | ||
10 | 12 | ||
11 | buildPhase = '' | 13 | buildPhase = '' |
12 | substituteAllInPlace download_youtube | 14 | substituteAllInPlace download_youtube |
diff --git a/odin/strm/download_youtube b/odin/strm/download_youtube index 41d532cc..4c37cb7e 100755 --- a/odin/strm/download_youtube +++ b/odin/strm/download_youtube | |||
@@ -2,7 +2,7 @@ | |||
2 | 2 | ||
3 | alwaysTranscode=false | 3 | alwaysTranscode=false |
4 | 4 | ||
5 | ffmpeg() { { { @ffmpeg-full@/bin/ffmpeg $@ 1>&3 } 2>&1 | stdbuf -o 0 tr '\r' '\n' | grep -v --line-buffered -E '^$' 1>&2 } 3>&1 } | 5 | ffmpeg() { { { @ffmpeg@/bin/ffmpeg $@ 1>&3 } 2>&1 | stdbuf -o 0 tr '\r' '\n' | grep -v --line-buffered -E '^$' 1>&2 } 3>&1 } |
6 | pv() { { { @pv@/bin/pv -D 2 -i 2 -w 100 -H 1 -f $@ 1>&3 } 2>&1 | stdbuf -o 0 tr '\r' '\n' | grep -v --line-buffered -E '^$' 1>&2 } 3>&1 } | 6 | pv() { { { @pv@/bin/pv -D 2 -i 2 -w 100 -H 1 -f $@ 1>&3 } 2>&1 | stdbuf -o 0 tr '\r' '\n' | grep -v --line-buffered -E '^$' 1>&2 } 3>&1 } |
7 | trimName() { prefix=$1; shift; printf "%s%s" ${prefix} $(awk -v len=$((19 - $#prefix)) '{ if (length($0) > len) print substr($0, 1, len-3) "..."; else print; }' <<<"${(j: :)@}")} | 7 | trimName() { prefix=$1; shift; printf "%s%s" ${prefix} $(awk -v len=$((19 - $#prefix)) '{ if (length($0) > len) print substr($0, 1, len-3) "..."; else print; }' <<<"${(j: :)@}")} |
8 | 8 | ||
@@ -116,7 +116,7 @@ printf ">>> %s <<<\n %s\n" "${msgId}" "${message}" | |||
116 | typeset -a args | 116 | typeset -a args |
117 | args=(--no-playlist --add-metadata --newline --mark-watched -f ${formatString}) | 117 | args=(--no-playlist --add-metadata --newline --mark-watched -f ${formatString}) |
118 | 118 | ||
119 | @youtube-dl@/bin/youtube-dl ${args} --get-filename -o $'%(extractor)s\n%(id)s\n%(format)s\n%(title)s\n%(ext)s' -- ${url} | { | 119 | @youtubedl@/bin/youtube-dl ${args} --get-filename -o $'%(extractor)s\n%(id)s\n%(format)s\n%(title)s\n%(ext)s' -- ${url} | { |
120 | oldIFS=${IFS} | 120 | oldIFS=${IFS} |
121 | export IFS= | 121 | export IFS= |
122 | 122 | ||
@@ -156,7 +156,7 @@ printf ">>> %s <<<\n %s\n" "${msgId}" "${message}" | |||
156 | fi | 156 | fi |
157 | fi | 157 | fi |
158 | 158 | ||
159 | @youtube-dl@/bin/youtube-dl $args -o "${filename:r}.%(ext)s" -- ${url} 2>&1 </dev/null | stdbuf -o0 tr '\r' '\n' | 159 | @youtubedl@/bin/youtube-dl $args -o "${filename:r}.%(ext)s" -- ${url} 2>&1 </dev/null | stdbuf -o0 tr '\r' '\n' |
160 | ytResult=$? | 160 | ytResult=$? |
161 | 161 | ||
162 | if [[ ! -e ${filename} && -n ${filename} ]]; then | 162 | if [[ ! -e ${filename} && -n ${filename} ]]; then |