From 9ab92b60a2f179e255cf9e72158352de85e8e119 Mon Sep 17 00:00:00 2001 From: Vincent Riquer Date: Tue, 23 Apr 2013 13:34:27 +0200 Subject: [PATCH] fat32compat: no . at beginning or end of dirname --- lib/files/getDestDir | 21 +++++++++++---------- lib/files/sanitizeFile | 7 +++++++ 2 files changed, 18 insertions(+), 10 deletions(-) diff --git a/lib/files/getDestDir b/lib/files/getDestDir index d433cb3..81b6839 100644 --- a/lib/files/getDestDir +++ b/lib/files/getDestDir @@ -3,28 +3,29 @@ getDestDir() { destdir="${destinationpath[$destination]}/" if [ -n "${destinationrenamepath[$destination]}" ] then - destdir+="${destinationrenamepath[$destination]//%\{album\}/$album}" - replace=$(sanitizeFile "$albumartist") + replace=$(sanitizeFile "$album" dir) + destdir+="${destinationrenamepath[$destination]//%\{album\}/$replace}" + replace=$(sanitizeFile "$albumartist" dir) destdir="${destdir//%\{albumartist\}/$replace}" - replace=$(sanitizeFile "$artist") + replace=$(sanitizeFile "$artist" dir) destdir="${destdir//%\{artist\}/$replace}" - replace=$(sanitizeFile "$genre") + replace=$(sanitizeFile "$genre" dir) destdir="${destdir//%\{genre\}/$replace}" - replace=$(sanitizeFile "$title") + replace=$(sanitizeFile "$title" dir) destdir="${destdir//%\{title\}/$replace}" tracknumber="${track%/*}" - replace=$(sanitizeFile "$tracknumber") + replace=$(sanitizeFile "$tracknumber" dir) destdir="${destdir//%\{track\}/$replace}" - replace=$(sanitizeFile "$year") + replace=$(sanitizeFile "$year" dir) destdir="${destdir//%\{year\}/$replace}" - replace=$(sanitizeFile "$disc") + replace=$(sanitizeFile "$disc" dir) destdir="${destdir//%\{disc\}/$replace}" else - destdir+=$(sanitizeFile "${filename%%/*}") + destdir+=$(sanitizeFile "${filename%%/*}" dir) part=${filename#*/} while [[ $part =~ / ]] do - destdir+="/$(sanitizeFile "${part%%/*}")" + destdir+="/$(sanitizeFile "${part%%/*}" dir)" part=${part#*/} done fi diff --git a/lib/files/sanitizeFile b/lib/files/sanitizeFile index 34bf8e3..07e8e50 100644 --- a/lib/files/sanitizeFile +++ b/lib/files/sanitizeFile @@ -19,6 +19,13 @@ sanitizeFile() { # Filenames can't begin or end with ' ' string=${string/#+( )/} string=${string/%+( )/} + + # Directory names can't begin or end with '.' + if [[ $2 == dir ]] + then + string=${string/#+(.)/} + string=${string/%+(.)/} + fi fi echo "$string" }