Files
bandcamp_scripts/bandcamp_album_length
2021-07-18 21:27:28 +02:00

23 lines
586 B
Bash
Executable File

#!/usr/bin/bash
if [[ -z $1 ]]; then
url=$(xclip -selection c -o)
>&2 echo "Reading url from clipboard: ${url}"
else
url=$1
fi
if ! grep -qF 'bandcamp.com/album' <<<"$url"; then
>&2 echo "Input does not look like a bandcamp album URL"
exit 1
fi
track_durations=$(curl "$url" 2>/dev/null | tidy 2>/dev/null | sed -n -E 's/^.*"time secondaryText">(.*)<\/span.*$/\1/p')
total_seconds=$( { printf '('; cut -d: -f1 <<<"$track_durations" | paste -d+ -s | tr -d '\n'; printf ') * 60 +'; cut -d: -f2 <<<"$track_durations" | paste -d+ -s; } | bc )
date -u -d @${total_seconds} +%T