Store destination filenames relatively to the dest root
This commit is contained in:
parent
ce1ff7aff5
commit
c114645781
35
atom
35
atom
@ -214,9 +214,13 @@ read -u4 removecount
|
|||||||
until (( ${#removefile[@]} == removecount ))
|
until (( ${#removefile[@]} == removecount ))
|
||||||
do
|
do
|
||||||
echo '
|
echo '
|
||||||
SELECT id,
|
SELECT destination_files.id,
|
||||||
filename
|
destinations.name,
|
||||||
|
destination_files.filename
|
||||||
FROM destination_files
|
FROM destination_files
|
||||||
|
INNER JOIN destinations
|
||||||
|
ON destination_files.destination_id
|
||||||
|
= destinations.id
|
||||||
WHERE source_file_id is NULL
|
WHERE source_file_id is NULL
|
||||||
LIMIT 500 OFFSET '${#removefile[@]}';
|
LIMIT 500 OFFSET '${#removefile[@]}';
|
||||||
|
|
||||||
@ -226,7 +230,11 @@ do
|
|||||||
read -u4 line
|
read -u4 line
|
||||||
until [[ $line == AtOM:NoMoreFiles ]]
|
until [[ $line == AtOM:NoMoreFiles ]]
|
||||||
do
|
do
|
||||||
removefile[${line%::AtOM:SQL:Sep::*}]="${line#*::AtOM:SQL:Sep::}"
|
removeFileId=${line%%::AtOM:SQL:Sep::*}
|
||||||
|
rest=${line#*::AtOM:SQL:Sep::}
|
||||||
|
removeFileDestName=${line%%::AtOM:SQL:Sep::*}
|
||||||
|
rest=${line#*::AtOM:SQL:Sep::}
|
||||||
|
removefile[$removeFileId]="${destinationpath["$removeFileDestName"]}/${rest%%::AtOM:SQL:Sep::*}"
|
||||||
read -u4 line
|
read -u4 line
|
||||||
done
|
done
|
||||||
done
|
done
|
||||||
@ -288,6 +296,7 @@ echo '
|
|||||||
ascii INTEGER,
|
ascii INTEGER,
|
||||||
source_file INTEGER,
|
source_file INTEGER,
|
||||||
fileid INTEGER,
|
fileid INTEGER,
|
||||||
|
destdir TEXT,
|
||||||
filename TEXT,
|
filename TEXT,
|
||||||
cmd_arg0 TEXT,
|
cmd_arg0 TEXT,
|
||||||
cmd_arg1 TEXT,
|
cmd_arg1 TEXT,
|
||||||
@ -894,7 +903,9 @@ do
|
|||||||
progressSpin
|
progressSpin
|
||||||
if [[ "$oldfilename" != "$destfilename" ]]
|
if [[ "$oldfilename" != "$destfilename" ]]
|
||||||
then
|
then
|
||||||
mv "$oldfilename" "$destfilename"
|
mv \
|
||||||
|
"${destinationpath[$destination]}/$oldfilename" \
|
||||||
|
"${destinationpath[$destination]}/$destfilename"
|
||||||
(( changedcount++ ))
|
(( changedcount++ ))
|
||||||
commit=1
|
commit=1
|
||||||
fi
|
fi
|
||||||
@ -929,10 +940,14 @@ done
|
|||||||
copyFiles_action
|
copyFiles_action
|
||||||
|
|
||||||
echo '
|
echo '
|
||||||
SELECT id,
|
SELECT destination_files.id,
|
||||||
filename,
|
destination_files.filename,
|
||||||
old_filename
|
destination_files.old_filename,
|
||||||
|
destinations.name
|
||||||
FROM destination_files
|
FROM destination_files
|
||||||
|
INNER JOIN destinations
|
||||||
|
ON destination_files.destination_id
|
||||||
|
= destinations.id
|
||||||
WHERE old_filename IS NOT NULL;
|
WHERE old_filename IS NOT NULL;
|
||||||
|
|
||||||
SELECT "AtOM:NoMoreFiles";
|
SELECT "AtOM:NoMoreFiles";
|
||||||
@ -952,10 +967,12 @@ do
|
|||||||
id=${line%%::AtOM:SQL:Sep::*}
|
id=${line%%::AtOM:SQL:Sep::*}
|
||||||
rest=${line#*::AtOM:SQL:Sep::}
|
rest=${line#*::AtOM:SQL:Sep::}
|
||||||
filename=${rest%%::AtOM:SQL:Sep::*}
|
filename=${rest%%::AtOM:SQL:Sep::*}
|
||||||
oldfilename=${rest#*::AtOM:SQL:Sep::}
|
rest=${line#*::AtOM:SQL:Sep::}
|
||||||
|
oldfilename=${rest%%::AtOM:SQL:Sep::*}
|
||||||
|
destination=${rest#*::AtOM:SQL:Sep::}
|
||||||
if [[ $oldfilename != "$filename" ]] && [ -f "$oldfilename" ]
|
if [[ $oldfilename != "$filename" ]] && [ -f "$oldfilename" ]
|
||||||
then
|
then
|
||||||
rm -f "$oldfilename"
|
rm -f "${destinationpath[$destination]}/$oldfilename"
|
||||||
fi
|
fi
|
||||||
Update destination_files old_filename NULL <<<"id = $id"
|
Update destination_files old_filename NULL <<<"id = $id"
|
||||||
(( count++ ))
|
(( count++ ))
|
||||||
|
|||||||
@ -5,7 +5,7 @@ getConfigDestination() {
|
|||||||
destinationenabled["$destination"]="$value"
|
destinationenabled["$destination"]="$value"
|
||||||
;;
|
;;
|
||||||
'path')
|
'path')
|
||||||
destinationpath["$destination"]="$value"
|
destinationpath["$destination"]="${value%/}"
|
||||||
;;
|
;;
|
||||||
'format')
|
'format')
|
||||||
case "$value" in
|
case "$value" in
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
currentdbversion=6
|
currentdbversion=7
|
||||||
checkDatabaseVersion() {
|
checkDatabaseVersion() {
|
||||||
local dbversion
|
local dbversion
|
||||||
if dbversion=$(Select atom version <<<"\"1\" = 1")
|
if dbversion=$(Select atom version <<<"\"1\" = 1")
|
||||||
|
|||||||
11
lib/database/upgradedatabase_6_7
Normal file
11
lib/database/upgradedatabase_6_7
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
upgradedatabase_6_7() {
|
||||||
|
echo "Upgrading database to version 7... (backup is $database.bak_v6)"
|
||||||
|
cp "$database" "$database.bak_v6"
|
||||||
|
for destination in "${destinations[@]}"
|
||||||
|
do
|
||||||
|
echo "UPDATE destination_files SET filename = REPLACE(filename,'${destinationpath[$destination]}/','') WHERE filename LIKE '${destinationpath[$destination]}/%';" >&3
|
||||||
|
done
|
||||||
|
Update atom version 7 <<<"1 = 1"
|
||||||
|
}
|
||||||
@ -53,7 +53,7 @@ encodeFile::mp3() {
|
|||||||
esac
|
esac
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
lameopts+=("$tempdir/$tmpfile.wav" "$destdir/$destfile.mp3")
|
lameopts+=("$tempdir/$tmpfile.wav" "${destinationpath[$destination]}/$destdir/$destfile.mp3")
|
||||||
encodetaskid=$(
|
encodetaskid=$(
|
||||||
Insert tasks <<-EOInsert
|
Insert tasks <<-EOInsert
|
||||||
key ${fileid}lame$destination
|
key ${fileid}lame$destination
|
||||||
|
|||||||
@ -23,7 +23,7 @@ encodeFile::opus() {
|
|||||||
[ -n "$track" ] && opusencopts+=(--comment "TRACKNUMBER=${track%/*}")
|
[ -n "$track" ] && opusencopts+=(--comment "TRACKNUMBER=${track%/*}")
|
||||||
[ -n "${track#*/}" ] && opusencopts+=(--comment "TRACKTOTAL=${track#*/}")
|
[ -n "${track#*/}" ] && opusencopts+=(--comment "TRACKTOTAL=${track#*/}")
|
||||||
[ -n "$year" ] && opusencopts+=(--comment "DATE=$year")
|
[ -n "$year" ] && opusencopts+=(--comment "DATE=$year")
|
||||||
opusencopts+=("$tempdir/$tmpfile".wav "$destdir/$destfile.opus")
|
opusencopts+=("$tempdir/$tmpfile".wav "${destinationpath[$destination]}/$destdir/$destfile.opus")
|
||||||
encodetaskid=$(
|
encodetaskid=$(
|
||||||
Insert tasks <<-EOInsert
|
Insert tasks <<-EOInsert
|
||||||
key ${fileid}opusenc$destination
|
key ${fileid}opusenc$destination
|
||||||
|
|||||||
@ -17,7 +17,7 @@ encodeFile::vorbis() {
|
|||||||
[ -n "$title" ] && oggencopts+=(-t "$title")
|
[ -n "$title" ] && oggencopts+=(-t "$title")
|
||||||
[ -n "$track" ] && oggencopts+=(-N "$track")
|
[ -n "$track" ] && oggencopts+=(-N "$track")
|
||||||
[ -n "$year" ] && oggencopts+=(-d "$year")
|
[ -n "$year" ] && oggencopts+=(-d "$year")
|
||||||
oggencopts+=(-o "$destdir/$destfile.ogg" "$tempdir/$tmpfile.wav")
|
oggencopts+=(-o "${destinationpath[$destination]}/$destdir/$destfile.ogg" "$tempdir/$tmpfile.wav")
|
||||||
encodetaskid=$(
|
encodetaskid=$(
|
||||||
Insert tasks <<-EOInsert
|
Insert tasks <<-EOInsert
|
||||||
key ${fileid}oggenc$destination
|
key ${fileid}oggenc$destination
|
||||||
|
|||||||
@ -41,7 +41,7 @@ getDestDir() {
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
then
|
then
|
||||||
destdir="${destinationpath[$destination]}/"
|
destdir=""
|
||||||
if (( ${destinationascii["$destination"]} ))
|
if (( ${destinationascii["$destination"]} ))
|
||||||
then
|
then
|
||||||
echo "$album" >&${toascii[1]}
|
echo "$album" >&${toascii[1]}
|
||||||
@ -83,8 +83,7 @@ getDestDir() {
|
|||||||
replace=$(sanitizeFile "$disc" dir)
|
replace=$(sanitizeFile "$disc" dir)
|
||||||
destdir="${destdir//?(\[)%\{disc\}?(\])/$replace}"
|
destdir="${destdir//?(\[)%\{disc\}?(\])/$replace}"
|
||||||
else
|
else
|
||||||
destdir="${destinationpath[$destination]}/"
|
destdir=$(sanitizeFile "${filename%%/*}" dir)
|
||||||
destdir+=$(sanitizeFile "${filename%%/*}" dir)
|
|
||||||
part=${filename#*/}
|
part=${filename#*/}
|
||||||
while [[ $part =~ / ]]
|
while [[ $part =~ / ]]
|
||||||
do
|
do
|
||||||
@ -101,7 +100,7 @@ getDestDir() {
|
|||||||
fi
|
fi
|
||||||
if ! [ -d "$destdir" ]
|
if ! [ -d "$destdir" ]
|
||||||
then
|
then
|
||||||
mkdir -p "$destdir"
|
mkdir -p "${destinationpath[$destination]}/$destdir"
|
||||||
fi
|
fi
|
||||||
destdir="${destdir//+(\/)//}"
|
destdir="${destdir//+(\/)//}"
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
getTags_version='unknown-4'
|
getTags_version='unknown-4'
|
||||||
getTags() {
|
getTags() {
|
||||||
unset type
|
local type
|
||||||
case "$mimetype" in
|
case "$mimetype" in
|
||||||
audio/mpeg)
|
audio/mpeg)
|
||||||
type=ffmpeg
|
type=ffmpeg
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user