From 5dc924f6b31eda25e578b1e9e710195229d70c75 Mon Sep 17 00:00:00 2001 From: diegantobass Date: Tue, 24 Jun 2025 09:07:06 +0200 Subject: [PATCH] adapts to the unraid env --- bandcamp_format_utility.sh | 62 ++++++++++++++++++++------------------ 1 file changed, 33 insertions(+), 29 deletions(-) diff --git a/bandcamp_format_utility.sh b/bandcamp_format_utility.sh index a711db5..6a4dd44 100755 --- a/bandcamp_format_utility.sh +++ b/bandcamp_format_utility.sh @@ -1,39 +1,43 @@ #!/usr/bin/bash -# This script helped me download back my own albums from deab.bandcamp.com +# This script helped me download back my own albums from deab.bandcamp.com from my unraid server # # It takes the first positional argument : a folder with youtube-dl downloaded audio-only tracks from bandcamp with their associated pictures and json metadata # And it parses the json to extract track name and number, album name, cover and number of tracks, and uses eyeD3 to updates the ID3 tags, rename and move the files -files="$1*.mp3" - -for f in $files; +for d in /mnt/user/downloads/youtube-dl/audio/*/; do - # collects metadata from json file - track=$(jq ".track" "${f%.*}.info.json" | tr -d '"'); - track_number=$(jq ".track_number" "${f%.*}.info.json" | tr -d '"'); - n_entries=$(jq ".n_entries" "${f%.*}.info.json" | tr -d '"'); - artist=$(jq ".artist" "${f%.*}.info.json" | tr -d '"'); - album=$(jq ".album" "${f%.*}.info.json" | tr -d '"'); - year=$(jq ".release_year" "${f%.*}.info.json" | tr -d '"'); - cover="${f%.*}.jpg"; + echo "Processing " "$d" + for f in $files; + do + # collects metadata from json file + track=$(jq ".track" "${f%.*}.info.json" | tr -d '"'); + track_number=$(jq ".track_number" "${f%.*}.info.json" | tr -d '"'); + n_entries=$(jq ".n_entries" "${f%.*}.info.json" | tr -d '"'); + artist=$(jq ".artist" "${f%.*}.info.json" | tr -d '"'); + album=$(jq ".album" "${f%.*}.info.json" | tr -d '"'); + year=$(jq ".release_year" "${f%.*}.info.json" | tr -d '"'); + cover="${f%.*}.jpg"; - # updates the ID3 tags on the mp3 file - eyeD3 --title "$track" \ - --track "$track_number" \ - --track-total "$n_entries" \ - --artist "$artist" \ - --album "$album" \ - --release-year "$year" \ - --add-image "$cover":FRONT_COVER: \ - "$f" + echo "$track" "$artist" - # moves the files to a correct name into an artist/album/ folder - new_name=$(printf '%02d - %s.mp3' "$track_number" "$track") - mkdir -p "$artist" - mkdir -p "$artist/$album" - mv "$f" "$artist/$album/$new_name" + # updates the ID3 tags on the mp3 file + # eyeD3 --title "$track" \ + # --track "$track_number" \ + # --track-total "$n_entries" \ + # --artist "$artist" \ + # --album "$album" \ + # --release-year "$year" \ + # --add-image "$cover":FRONT_COVER: \ + # "$f"; + + # moves the files to a correct name into an artist/album/ folder + new_name=$(printf '%02d - %s.mp3' "$track_number" "$track"); + mkdir -p "$artist"; + mkdir -p "$artist/$album"; + # mv "$f" "$artist/$album/$new_name"; + echo "$new_name" + done + # removes the original folder + # rm -R "$d" done - -# removes the original folder asking confirmation -rm -R "$1"