From 6295d11dac15034a7acb7a582e9cc8f058d2fac9 Mon Sep 17 00:00:00 2001 From: Silvio Rhatto Date: Wed, 4 Oct 2017 20:36:49 -0300 Subject: Adds playlist-wget --- playlist-wget | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100755 playlist-wget diff --git a/playlist-wget b/playlist-wget new file mode 100755 index 0000000..b02fd60 --- /dev/null +++ b/playlist-wget @@ -0,0 +1,36 @@ +#!/bin/bash +# +# Get playlist files from an URL. +# + +# Parameters +BASENAME="`basename $0`" +PLAYLIST="$1" + +# Check +if [ -z "$PLAYLIST" ]; then + echo "usage: $BASENAME " + exit 1 +elif echo "$PLAYLIST" | grep -q -v '^http'; then + echo "$BASENAME: unsupported URL" + exit 1 +fi + +# Get playlist base from where we can find all the files +# We apply dirname twice because MPD stores playlists in a subfolder +PLAYLIST_BASE="$(dirname $(dirname $PLAYLIST))" + +# Download all playlist files in the current folder +# We use sed to replace new lines by the null character so xargs can detect each file correctly +#curl -s $PLAYLIST | sed -e "s|^|\"$PLAYLIST_BASE/|" -e 's|$|"|' -e 's|\n|\x0|' | xargs wget -c + +# Download the playlist +wget -c $PLAYLIST + +# Download playlist and all it's files preseving the folder structure +cat `basename $PLAYLIST` | while read file; do + dirname="`dirname "$file"`" + + mkdir -p "$dirname" + wget -c "$PLAYLIST_BASE/$file" -O "$file" +done -- cgit v1.2.3