mirror of
https://github.com/auricom/home-cluster.git
synced 2025-09-17 18:24:14 +02:00
fix: music transcode chars
This commit is contained in:
@@ -7,6 +7,10 @@ set -u
|
|||||||
# Exit if any command in pipe fails
|
# Exit if any command in pipe fails
|
||||||
set -o pipefail
|
set -o pipefail
|
||||||
|
|
||||||
|
# Set locale to UTF-8
|
||||||
|
export LANG=en_US.UTF-8
|
||||||
|
export LC_ALL=en_US.UTF-8
|
||||||
|
|
||||||
# Create a logging function
|
# Create a logging function
|
||||||
log() {
|
log() {
|
||||||
echo "[$(date '+%Y-%m-%d %H:%M:%S')] $*"
|
echo "[$(date '+%Y-%m-%d %H:%M:%S')] $*"
|
||||||
@@ -298,11 +302,19 @@ remove_absent_from_source() {
|
|||||||
[[ -z "$val" ]] && continue
|
[[ -z "$val" ]] && continue
|
||||||
|
|
||||||
local filename="$(dirname "$val")/$(basename "$val" .md5)"
|
local filename="$(dirname "$val")/$(basename "$val" .md5)"
|
||||||
if ! "$TRANSCODE_FD_BIN" . "$TRANSCODE_INPUT_DIR/$(dirname "$filename")" 2>/dev/null | grep -qF "$(basename "$filename" .md5)"; then
|
# Use printf to properly handle special characters
|
||||||
log "INFO: Transcoded file $filename doesn't have a source file: delete"
|
local source_path
|
||||||
if [[ $MODE_DRY_RUN == false ]]; then
|
source_path=$(printf "%s/%s" "$TRANSCODE_INPUT_DIR" "$filename")
|
||||||
rm -f "$TRANSCODE_OUTPUT_DIR/$filename"*
|
|
||||||
rm -f "$TRANSCODE_DB/$filename"*
|
if [[ ! -e "$source_path" ]]; then
|
||||||
|
log "INFO: Checking absence of: $filename"
|
||||||
|
# Double check with find to handle special characters
|
||||||
|
if ! find "$TRANSCODE_INPUT_DIR/$(dirname "$filename")" -maxdepth 1 -name "$(basename "$filename")*" 2>/dev/null | grep -q .; then
|
||||||
|
log "INFO: Confirmed - Transcoded file $filename doesn't have a source file: delete"
|
||||||
|
if [[ $MODE_DRY_RUN == false ]]; then
|
||||||
|
rm -f "$TRANSCODE_OUTPUT_DIR/$filename"*
|
||||||
|
rm -f "$TRANSCODE_DB/$filename"*
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
done <<< "$files"
|
done <<< "$files"
|
||||||
@@ -310,9 +322,9 @@ remove_absent_from_source() {
|
|||||||
log "INFO: removing empty directories..."
|
log "INFO: removing empty directories..."
|
||||||
if [[ $MODE_DRY_RUN == false ]]; then
|
if [[ $MODE_DRY_RUN == false ]]; then
|
||||||
cd "$TRANSCODE_OUTPUT_DIR" || exit 1
|
cd "$TRANSCODE_OUTPUT_DIR" || exit 1
|
||||||
"$TRANSCODE_FD_BIN" --type empty --exec-batch rmdir {} \; || true
|
find . -type d -empty -delete 2>/dev/null || true
|
||||||
cd "$TRANSCODE_DB" || exit 1
|
cd "$TRANSCODE_DB" || exit 1
|
||||||
"$TRANSCODE_FD_BIN" --type empty --exec-batch rmdir {} \; || true
|
find . -type d -empty -delete 2>/dev/null || true
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user