Compare commits

..

No commits in common. "b900166ae7bb0f503bce482b81e47b254f4bee96" and "354b0fbda22558e753726dca3e2020b4f00709db" have entirely different histories.

View file

@ -1,48 +1,41 @@
#!/bin/bash
#!/usr/bin/bash
# This script helps me download back my own albums from deab.bandcamp.com from my unraid server
# This script helped me download back my own albums from deab.bandcamp.com
#
# 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
#
# WATCHOUT for bash version because the -v (to variable) option in printf is a newish thing at the time of writing...
for d in "/mnt/user/downloads/youtube-dl/audio/*/";
files="$1*.mp3"
for f in $files;
do
echo "Processing " "$d"
echo "..."
# 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";
files="$d*.mp3"
# 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"
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";
# moves the files into an path/to/music/folder/artist/album/
new_name=$(printf '%02d - %s.mp3' "$track_number" "$track");
mkdir -p "/mnt/user/music/nettoyage/youtubedl/$artist";
mkdir -p "/mnt/user/music/nettoyage/youtubedl/$artist/$album";
mv "$f" "/mnt/user/music/nettoyage/youtubedl/$artist/$album/$new_name";
done
# removes the original folder
rm -R "$d"
echo "Done with" "$d"
echo "---"
# 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"
done
# removes the original folder asking confirmation
rm -R "$1"