From 210cfd01f72852fa9986c5f3381b272ac9bb1680 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=84min=20Baumeler?= Date: Tue, 26 Aug 2025 20:42:54 +0200 Subject: [PATCH] MUSICDIR env not required anymore --- src/main.sh | 10 +++++----- src/sh/config.sh | 3 --- src/sh/local.sh | 4 +++- 3 files changed, 8 insertions(+), 9 deletions(-) diff --git a/src/main.sh b/src/main.sh index 9e31861..cc68ac2 100755 --- a/src/main.sh +++ b/src/main.sh @@ -47,10 +47,10 @@ if [ "${1:-}" = "--decorate" ]; then fi if [ "${1:-}" = "--reload" ]; then - [ ! "${MUSICDIR:-}" ] && err "The environment variable MUSICDIR is not set." && exit 1 - [ ! -d "${MUSICDIR:-}" ] && err "The environment variable MUSICDIR does not point to a directory." && exit 1 - info "Reloading information of local music directory $MUSICDIR" - load_local || err "Failed to load local data" + [ ! "${2:-}" ] && err "Path to decorated music is missing." && exit 1 + [ ! -d "$2" ] && err "Path does not point to a directory." && exit 1 + info "Reloading information of local music directory $2" + load_local "$2" || err "Failed to load local data" info "Done" exit 0 fi @@ -386,7 +386,7 @@ GENERAL OPTIONS: MANAGE LOCAL MUSIC: --decorate Decorate directory containing a tagged release - --reload Populate database with decorated local music + --reload Populate database with decorated local music from EOF exit 0 fi diff --git a/src/sh/config.sh b/src/sh/config.sh index 045aac7..44daf93 100644 --- a/src/sh/config.sh +++ b/src/sh/config.sh @@ -1,7 +1,4 @@ if [ "${CONFIGFILE:-}" ]; then [ ! -f "$CONFIGFILE" ] && err "Configuration $CONFIGFILE not found." && exit 1 . "$CONFIGFLIE" - [ ! "${MUSICDIR:-}" ] && err "MUSICDIR configuration not set." && exit 1 fi -[ "${MUSICDIR:-}" ] && [ ! -d "${MUSICDIR:-}" ] && err "The specified path ${MUSICDIR:-} is not a directory." && exit 1 -DECORATION_FILENAME=${DECORATION_FILENAME:-"mbid.json"} diff --git a/src/sh/local.sh b/src/sh/local.sh index 9ed8fc2..1180cca 100644 --- a/src/sh/local.sh +++ b/src/sh/local.sh @@ -101,14 +101,16 @@ LOCALDATA_RELEASES="$LOCALDATADIR/releases" LOCALDATA_ARTISTS_VIEW="$LOCALDATADIR/artists_view" LOCALDATA_RELEASEGROUPS_VIEW="$LOCALDATADIR/releasegroups_view" LOCALDATA_RELEASES_VIEW="$LOCALDATADIR/releases_view" +DECORATION_FILENAME=${DECORATION_FILENAME:-"mbid.json"} # Load local music +# argument $1: path to decorated music files load_local() { [ -d "$LOCALDATADIR" ] || mkdir -p "$LOCALDATADIR" tmpreleases=$(mktemp) [ -f "$tmpreleases" ] || exit 1 info "Locating and parsing decoration files ($DECORATION_FILENAME)" - find "$MUSICDIR" -type f -name "$DECORATION_FILENAME" -print0 | + find "$1" -type f -name "$DECORATION_FILENAME" -print0 | xargs -0 -P 4 $JQ -r '.releaseid+"\t"+input_filename' | tee "$LOCALDATA_RELEASES" | cut -d "$(printf '\t')" -f 1 >"$tmpreleases"