adapts to the unraid env

This commit is contained in:
diegantobass 2025-06-24 09:07:06 +02:00
parent 86ecc7278d
commit 5dc924f6b3

View file

@ -1,39 +1,43 @@
#!/usr/bin/bash #!/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 # 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 # 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 d in /mnt/user/downloads/youtube-dl/audio/*/;
for f in $files;
do do
# collects metadata from json file echo "Processing " "$d"
track=$(jq ".track" "${f%.*}.info.json" | tr -d '"'); for f in $files;
track_number=$(jq ".track_number" "${f%.*}.info.json" | tr -d '"'); do
n_entries=$(jq ".n_entries" "${f%.*}.info.json" | tr -d '"'); # collects metadata from json file
artist=$(jq ".artist" "${f%.*}.info.json" | tr -d '"'); track=$(jq ".track" "${f%.*}.info.json" | tr -d '"');
album=$(jq ".album" "${f%.*}.info.json" | tr -d '"'); track_number=$(jq ".track_number" "${f%.*}.info.json" | tr -d '"');
year=$(jq ".release_year" "${f%.*}.info.json" | tr -d '"'); n_entries=$(jq ".n_entries" "${f%.*}.info.json" | tr -d '"');
cover="${f%.*}.jpg"; 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 echo "$track" "$artist"
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 # updates the ID3 tags on the mp3 file
new_name=$(printf '%02d - %s.mp3' "$track_number" "$track") # eyeD3 --title "$track" \
mkdir -p "$artist" # --track "$track_number" \
mkdir -p "$artist/$album" # --track-total "$n_entries" \
mv "$f" "$artist/$album/$new_name" # --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 done
# removes the original folder asking confirmation
rm -R "$1"