fat32compat: no . at beginning or end of dirname

This commit is contained in:
Vincent Riquer 2013-04-23 13:34:27 +02:00
parent b7ae6bb5ad
commit 9ab92b60a2
2 changed files with 18 additions and 10 deletions

View File

@ -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

View File

@ -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"
}