filenames and/or tags may contain |
This commit is contained in:
parent
28b11a77ea
commit
1fa431cc5f
148
atom
148
atom
@ -144,8 +144,8 @@ removed=0
|
||||
read -u4 line
|
||||
until [[ $line == AtOM:NoMoreFiles ]]
|
||||
do
|
||||
id=${line%|*}
|
||||
filename=${line#*|}
|
||||
id=${line%::AtOM:SQL:Sep::*}
|
||||
filename=${line#*::AtOM:SQL:Sep::}
|
||||
if [ -n "$filename" ]
|
||||
then
|
||||
if rm -f "$filename"
|
||||
@ -220,12 +220,12 @@ done
|
||||
echo 'BEGIN TRANSACTION;' >&3
|
||||
for line in "${tagfiles[@]}"
|
||||
do
|
||||
sourcefileid=${line%%|*}
|
||||
rest=${line#*|}
|
||||
lastchange=${rest%%|*}
|
||||
rest=${rest#*|}
|
||||
mimetype=${rest%%|*}
|
||||
filename=${rest#*|}
|
||||
sourcefileid=${line%%::AtOM:SQL:Sep::*}
|
||||
rest=${line#*::AtOM:SQL:Sep::}
|
||||
lastchange=${rest%%::AtOM:SQL:Sep::*}
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
mimetype=${rest%%::AtOM:SQL:Sep::*}
|
||||
filename=${rest#*::AtOM:SQL:Sep::}
|
||||
echo -en "\rTags: $((++count*100/filecount))%"
|
||||
if (( count % 1000 == 0 ))
|
||||
then
|
||||
@ -376,7 +376,7 @@ echo '
|
||||
read -u4 line
|
||||
while ! [[ $line = AtOM:NoMoreFiles ]]
|
||||
do
|
||||
decodefiles+=("$line|")
|
||||
decodefiles+=("$line::AtOM:SQL:Sep::")
|
||||
read -u4 line
|
||||
done
|
||||
echo -n 'Creating tasks... '
|
||||
@ -384,41 +384,41 @@ echo -n 'Creating tasks... '
|
||||
echo 'BEGIN TRANSACTION;' >&3
|
||||
for line in "${decodefiles[@]}"
|
||||
do
|
||||
fileid=${line%%|*}
|
||||
rest=${line#*|}
|
||||
filename=${rest%%|*}
|
||||
rest=${rest#*|}
|
||||
mimetype=${rest%%|*}
|
||||
rest=${rest#*|}
|
||||
destination=${rest%%|*}
|
||||
rest=${rest#*|}
|
||||
destfileid=${rest%%|*}
|
||||
rest=${rest#*|}
|
||||
rate=${rest%%|*}
|
||||
rest=${rest#*|}
|
||||
channels=${rest%%|*}
|
||||
rest=${rest#*|}
|
||||
bitrate=${rest%%|*}
|
||||
rest=${rest#*|}
|
||||
genre=${rest%%|*}
|
||||
rest=${rest#*|}
|
||||
albumartist=${rest%%|*}
|
||||
rest=${rest#*|}
|
||||
year=${rest%%|*}
|
||||
rest=${rest#*|}
|
||||
album=${rest%%|*}
|
||||
rest=${rest#*|}
|
||||
disc=${rest%%|*}
|
||||
rest=${rest#*|}
|
||||
artist=${rest%%|*}
|
||||
rest=${rest#*|}
|
||||
track=${rest%%|*}
|
||||
rest=${rest#*|}
|
||||
title=${rest%%|*}
|
||||
rest=${rest#*|}
|
||||
composer=${rest%%|*}
|
||||
rest=${rest#*|}
|
||||
performer=${rest%%|*}
|
||||
fileid=${line%%::AtOM:SQL:Sep::*}
|
||||
rest=${line#*::AtOM:SQL:Sep::}
|
||||
filename=${rest%%::AtOM:SQL:Sep::*}
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
mimetype=${rest%%::AtOM:SQL:Sep::*}
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
destination=${rest%%::AtOM:SQL:Sep::*}
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
destfileid=${rest%%::AtOM:SQL:Sep::*}
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
rate=${rest%%::AtOM:SQL:Sep::*}
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
channels=${rest%%::AtOM:SQL:Sep::*}
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
bitrate=${rest%%::AtOM:SQL:Sep::*}
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
genre=${rest%%::AtOM:SQL:Sep::*}
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
albumartist=${rest%%::AtOM:SQL:Sep::*}
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
year=${rest%%::AtOM:SQL:Sep::*}
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
album=${rest%%::AtOM:SQL:Sep::*}
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
disc=${rest%%::AtOM:SQL:Sep::*}
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
artist=${rest%%::AtOM:SQL:Sep::*}
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
track=${rest%%::AtOM:SQL:Sep::*}
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
title=${rest%%::AtOM:SQL:Sep::*}
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
composer=${rest%%::AtOM:SQL:Sep::*}
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
performer=${rest%%::AtOM:SQL:Sep::*}
|
||||
unset rest
|
||||
decodeFile
|
||||
getDestDir
|
||||
@ -647,32 +647,32 @@ do
|
||||
echo -n "$destination: rename pattern changed, renaming files... "
|
||||
while [[ $line != AtOM:NoMoreFiles ]]
|
||||
do
|
||||
oldfilename=${line%%|*}
|
||||
rest=${line#*|}'|'
|
||||
destfileid=${rest%%|*}
|
||||
rest=${rest#*|}
|
||||
filename=${rest%%|*}
|
||||
rest=${rest#*|}
|
||||
album=${rest%%|*}
|
||||
rest=${rest#*|}
|
||||
albumartist=${rest%%|*}
|
||||
rest=${rest#*|}
|
||||
artist=${rest%%|*}
|
||||
rest=${rest#*|}
|
||||
composer=${rest%%|*}
|
||||
rest=${rest#*|}
|
||||
disc=${rest%%|*}
|
||||
rest=${rest#*|}
|
||||
genre=${rest%%|*}
|
||||
rest=${rest#*|}
|
||||
performer=${rest%%|*}
|
||||
rest=${rest#*|}
|
||||
title=${rest%%|*}
|
||||
rest=${rest#*|}
|
||||
track=${rest%%|*}
|
||||
rest=${rest#*|}
|
||||
year=${rest%%|*}
|
||||
rest=${rest#*|}
|
||||
oldfilename=${line%%::AtOM:SQL:Sep::*}
|
||||
rest=${line#*::AtOM:SQL:Sep::}'::AtOM:SQL:Sep::'
|
||||
destfileid=${rest%%::AtOM:SQL:Sep::*}
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
filename=${rest%%::AtOM:SQL:Sep::*}
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
album=${rest%%::AtOM:SQL:Sep::*}
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
albumartist=${rest%%::AtOM:SQL:Sep::*}
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
artist=${rest%%::AtOM:SQL:Sep::*}
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
composer=${rest%%::AtOM:SQL:Sep::*}
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
disc=${rest%%::AtOM:SQL:Sep::*}
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
genre=${rest%%::AtOM:SQL:Sep::*}
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
performer=${rest%%::AtOM:SQL:Sep::*}
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
title=${rest%%::AtOM:SQL:Sep::*}
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
track=${rest%%::AtOM:SQL:Sep::*}
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
year=${rest%%::AtOM:SQL:Sep::*}
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
if [ -n "$oldfilename" -a -f "$oldfilename" ]
|
||||
then
|
||||
getDestDir
|
||||
@ -720,10 +720,10 @@ done
|
||||
echo 'BEGIN TRANSACTION;' >&3
|
||||
for line in "${lines[@]}"
|
||||
do
|
||||
id=${line%%|*}
|
||||
rest=${line#*|}
|
||||
filename=${rest%%|*}
|
||||
oldfilename=${rest#*|}
|
||||
id=${line%%::AtOM:SQL:Sep::*}
|
||||
rest=${line#*::AtOM:SQL:Sep::}
|
||||
filename=${rest%%::AtOM:SQL:Sep::*}
|
||||
oldfilename=${rest#*::AtOM:SQL:Sep::}
|
||||
if [[ $oldfilename != $filename ]] && [ -f "$oldfilename" ]
|
||||
then
|
||||
rm -f "$oldfilename"
|
||||
|
||||
@ -31,15 +31,15 @@ copyFiles_action() {
|
||||
echo 'BEGIN TRANSACTION;' >&3
|
||||
for copyfile in "${copyfiles[@]}"
|
||||
do
|
||||
sourcefilename=${copyfile%%|*}
|
||||
sourcefilename=${copyfile%%::AtOM:SQL:Sep::*}
|
||||
sourcedir=${sourcefilename%/*}
|
||||
rest="${copyfile#*|}|"
|
||||
lastchange=${rest%%|*}
|
||||
rest=${rest#*|}
|
||||
destinationid=${rest%%|*}
|
||||
rest=${rest#*|}
|
||||
destfileid=${rest%%|*}
|
||||
rest=${rest#*|}
|
||||
rest="${copyfile#*::AtOM:SQL:Sep::}::AtOM:SQL:Sep::"
|
||||
lastchange=${rest%%::AtOM:SQL:Sep::*}
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
destinationid=${rest%%::AtOM:SQL:Sep::*}
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
destfileid=${rest%%::AtOM:SQL:Sep::*}
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
echo 'SELECT IFNULL( (
|
||||
SELECT destination_files.filename
|
||||
FROM destination_files
|
||||
|
||||
@ -24,5 +24,6 @@ openDatabase() {
|
||||
exec 3> >(tee -a $tempdir/debug.log >&5)
|
||||
fi
|
||||
cat $schema >&3
|
||||
echo '.separator ::AtOM:SQL:Sep::' >&3
|
||||
echo 'PRAGMA foreign_keys = ON;' >&3
|
||||
}
|
||||
|
||||
@ -27,5 +27,12 @@ sanitizeFile() {
|
||||
string=${string/%+(.)/}
|
||||
fi
|
||||
fi
|
||||
# Not exactly filename sanitity, but these will make the script fail in
|
||||
# a decorative way..
|
||||
string="${string//&/\\&}"
|
||||
strint="${string//;/\\;}"
|
||||
# And these would exhibit strange behaviors
|
||||
string="${string//\[/\\\[}"
|
||||
string="${string//\]/\\\]}"
|
||||
echo "$string"
|
||||
}
|
||||
|
||||
@ -12,16 +12,16 @@ gettaskinfos() {
|
||||
WHERE id='$1';
|
||||
' >&3
|
||||
read -u4 line
|
||||
taskid=${line%%|*}
|
||||
rest="${line#*|}|"
|
||||
sourcefileid=${rest%%|*}
|
||||
rest=${rest#*|}
|
||||
required=${rest%%|*}
|
||||
rest=${rest#*|}
|
||||
cleanup=${rest%%|*}
|
||||
rest=${rest#*|}
|
||||
destfileid=${rest%%|*}
|
||||
rest=${rest#*|}
|
||||
destfilename=${rest%%|*}
|
||||
rest=${rest#*|}
|
||||
taskid=${line%%::AtOM:SQL:Sep::*}
|
||||
rest="${line#*::AtOM:SQL:Sep::}::AtOM:SQL:Sep::"
|
||||
sourcefileid=${rest%%::AtOM:SQL:Sep::*}
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
required=${rest%%::AtOM:SQL:Sep::*}
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
cleanup=${rest%%::AtOM:SQL:Sep::*}
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
destfileid=${rest%%::AtOM:SQL:Sep::*}
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
destfilename=${rest%%::AtOM:SQL:Sep::*}
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
}
|
||||
|
||||
@ -69,78 +69,78 @@ master() {
|
||||
else
|
||||
(( ++active ))
|
||||
read -u4 line
|
||||
taskid=${line%%|*}
|
||||
rest="${line#*|}|"
|
||||
sourcefileid=${rest%%|*}
|
||||
rest=${rest#*|}
|
||||
required=${rest%%|*}
|
||||
rest=${rest#*|}
|
||||
cmd_arg=("${rest%%|*}")
|
||||
rest=${rest#*|}
|
||||
cmd_arg+=("${rest%%|*}")
|
||||
rest=${rest#*|}
|
||||
cmd_arg+=("${rest%%|*}")
|
||||
rest=${rest#*|}
|
||||
cmd_arg+=("${rest%%|*}")
|
||||
rest=${rest#*|}
|
||||
cmd_arg+=("${rest%%|*}")
|
||||
rest=${rest#*|}
|
||||
cmd_arg+=("${rest%%|*}")
|
||||
rest=${rest#*|}
|
||||
cmd_arg+=("${rest%%|*}")
|
||||
rest=${rest#*|}
|
||||
cmd_arg+=("${rest%%|*}")
|
||||
rest=${rest#*|}
|
||||
cmd_arg+=("${rest%%|*}")
|
||||
rest=${rest#*|}
|
||||
cmd_arg+=("${rest%%|*}")
|
||||
rest=${rest#*|}
|
||||
cmd_arg+=("${rest%%|*}")
|
||||
rest=${rest#*|}
|
||||
cmd_arg+=("${rest%%|*}")
|
||||
rest=${rest#*|}
|
||||
cmd_arg+=("${rest%%|*}")
|
||||
rest=${rest#*|}
|
||||
cmd_arg+=("${rest%%|*}")
|
||||
rest=${rest#*|}
|
||||
cmd_arg+=("${rest%%|*}")
|
||||
rest=${rest#*|}
|
||||
cmd_arg+=("${rest%%|*}")
|
||||
rest=${rest#*|}
|
||||
cmd_arg+=("${rest%%|*}")
|
||||
rest=${rest#*|}
|
||||
cmd_arg+=("${rest%%|*}")
|
||||
rest=${rest#*|}
|
||||
cmd_arg+=("${rest%%|*}")
|
||||
rest=${rest#*|}
|
||||
cmd_arg+=("${rest%%|*}")
|
||||
rest=${rest#*|}
|
||||
cmd_arg+=("${rest%%|*}")
|
||||
rest=${rest#*|}
|
||||
cmd_arg+=("${rest%%|*}")
|
||||
rest=${rest#*|}
|
||||
cmd_arg+=("${rest%%|*}")
|
||||
rest=${rest#*|}
|
||||
cmd_arg+=("${rest%%|*}")
|
||||
rest=${rest#*|}
|
||||
cmd_arg+=("${rest%%|*}")
|
||||
rest=${rest#*|}
|
||||
cmd_arg+=("${rest%%|*}")
|
||||
rest=${rest#*|}
|
||||
cmd_arg+=("${rest%%|*}")
|
||||
rest=${rest#*|}
|
||||
cmd_arg+=("${rest%%|*}")
|
||||
rest=${rest#*|}
|
||||
cmd_arg+=("${rest%%|*}")
|
||||
rest=${rest#*|}
|
||||
cmd_arg+=("${rest%%|*}")
|
||||
rest=${rest#*|}
|
||||
cleanup=${rest%%|*}
|
||||
rest=${rest#*|}
|
||||
destfileid=${rest%%|*}
|
||||
rest=${rest#*|}
|
||||
destfilename=${rest%%|*}
|
||||
rest=${rest#*|}
|
||||
taskid=${line%%::AtOM:SQL:Sep::*}
|
||||
rest="${line#*::AtOM:SQL:Sep::}::AtOM:SQL:Sep::"
|
||||
sourcefileid=${rest%%::AtOM:SQL:Sep::*}
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
required=${rest%%::AtOM:SQL:Sep::*}
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
cmd_arg=("${rest%%::AtOM:SQL:Sep::*}")
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}")
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}")
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}")
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}")
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}")
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}")
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}")
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}")
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}")
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}")
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}")
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}")
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}")
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}")
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}")
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}")
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}")
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}")
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}")
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}")
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}")
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}")
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}")
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}")
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}")
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}")
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}")
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}")
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
cmd_arg+=("${rest%%::AtOM:SQL:Sep::*}")
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
cleanup=${rest%%::AtOM:SQL:Sep::*}
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
destfileid=${rest%%::AtOM:SQL:Sep::*}
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
destfilename=${rest%%::AtOM:SQL:Sep::*}
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
for key in ${!cmd_arg[@]}
|
||||
do
|
||||
[ -z "${cmd_arg[key]}" ] && unset cmd_arg[key]
|
||||
|
||||
@ -112,8 +112,8 @@ getdstfiles() {
|
||||
done
|
||||
for line in "${lines[@]}"
|
||||
do
|
||||
fileid=${line%|*}
|
||||
filename=${line#*|}
|
||||
fileid=${line%::AtOM:SQL:Sep::*}
|
||||
filename=${line#*::AtOM:SQL:Sep::}
|
||||
echo $'\t'"$filename"
|
||||
(( rename )) && echo -n $'\t'
|
||||
(( rename )) && renameFile
|
||||
@ -149,12 +149,12 @@ do
|
||||
done
|
||||
for line in "${lines[@]}"
|
||||
do
|
||||
fileid=${line%%|*}
|
||||
rest="${line#*|}|"
|
||||
filename=${rest%%|*}
|
||||
rest=${rest#*|}
|
||||
mimetype=${rest%%|*}
|
||||
rest=${rest#*|}
|
||||
fileid=${line%%::AtOM:SQL:Sep::*}
|
||||
rest="${line#*::AtOM:SQL:Sep::}::AtOM:SQL:Sep::"
|
||||
filename=${rest%%::AtOM:SQL:Sep::*}
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
mimetype=${rest%%::AtOM:SQL:Sep::*}
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
dest=$sourcepath
|
||||
case "$mimetype" in
|
||||
'audio/mpeg')
|
||||
|
||||
@ -140,33 +140,33 @@ done
|
||||
for line in "${lines[@]}"
|
||||
do
|
||||
missing=()
|
||||
filename=${line%%|*}
|
||||
rest="${line#*|}|"
|
||||
(( ${checks[genre]} )) && [ -z "${rest%%|*}" ] && missing+=( "Genre" )
|
||||
rest=${rest#*|}
|
||||
(( ${checks[albumartist]} )) && [ -z "${rest%%|*}" ] && missing+=( "AlbumArtist" )
|
||||
rest=${rest#*|}
|
||||
(( ${checks[year]} )) && [ -z "${rest%%|*}" ] && missing+=( "Year" )
|
||||
rest=${rest#*|}
|
||||
(( ${checks[album]} )) && [ -z "${rest%%|*}" ] && missing+=( "Album" )
|
||||
rest=${rest#*|}
|
||||
(( ${checks[disc]} )) && [ -z "${rest%%|*}" ] && missing+=( "Disc" )
|
||||
rest=${rest#*|}
|
||||
(( ${checks[artist]} )) && [ -z "${rest%%|*}" ] && missing+=( "Artist" )
|
||||
rest=${rest#*|}
|
||||
track=${rest%%|*}
|
||||
filename=${line%%::AtOM:SQL:Sep::*}
|
||||
rest="${line#*::AtOM:SQL:Sep::}::AtOM:SQL:Sep::"
|
||||
(( ${checks[genre]} )) && [ -z "${rest%%::AtOM:SQL:Sep::*}" ] && missing+=( "Genre" )
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
(( ${checks[albumartist]} )) && [ -z "${rest%%::AtOM:SQL:Sep::*}" ] && missing+=( "AlbumArtist" )
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
(( ${checks[year]} )) && [ -z "${rest%%::AtOM:SQL:Sep::*}" ] && missing+=( "Year" )
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
(( ${checks[album]} )) && [ -z "${rest%%::AtOM:SQL:Sep::*}" ] && missing+=( "Album" )
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
(( ${checks[disc]} )) && [ -z "${rest%%::AtOM:SQL:Sep::*}" ] && missing+=( "Disc" )
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
(( ${checks[artist]} )) && [ -z "${rest%%::AtOM:SQL:Sep::*}" ] && missing+=( "Artist" )
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
track=${rest%%::AtOM:SQL:Sep::*}
|
||||
(( ${checks[track]} )) && [ -z "$track" ] && missing+=( "Track" )
|
||||
if (( ${checks[tracktotal]} )) && ! [[ $track =~ / ]]
|
||||
then
|
||||
missing+=( TrackTotal )
|
||||
fi
|
||||
rest=${rest#*|}
|
||||
(( ${checks[title]} )) && [ -z "${rest%%|*}" ] && missing+=( "Title" )
|
||||
rest=${rest#*|}
|
||||
(( ${checks[composer]} )) && [ -z "${rest%%|*}" ] && missing+=( "Composer" )
|
||||
rest=${rest#*|}
|
||||
(( ${checks[performer]} )) && [ -z "${rest%%|*}" ] && missing+=( "Performer" )
|
||||
rest=${rest#*|}
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
(( ${checks[title]} )) && [ -z "${rest%%::AtOM:SQL:Sep::*}" ] && missing+=( "Title" )
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
(( ${checks[composer]} )) && [ -z "${rest%%::AtOM:SQL:Sep::*}" ] && missing+=( "Composer" )
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
(( ${checks[performer]} )) && [ -z "${rest%%::AtOM:SQL:Sep::*}" ] && missing+=( "Performer" )
|
||||
rest=${rest#*::AtOM:SQL:Sep::}
|
||||
echo "$filename: ${missing[@]}"
|
||||
done
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user