toys/checkmissing: check for missing files in destinations
Incase files were removed by some other process, or, $DEITY forbids, a bug
This commit is contained in:
parent
095ee262b6
commit
68b0d2f033
88
toys/checkmissing
Executable file
88
toys/checkmissing
Executable file
@ -0,0 +1,88 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# config structures
|
||||
declare -A \
|
||||
destinationchannels \
|
||||
destinationfat32compat \
|
||||
destinationcopymime \
|
||||
destinationformat \
|
||||
destinationfrequency \
|
||||
destinationid \
|
||||
destinationloss \
|
||||
destinationmaxbps \
|
||||
destinationnormalize \
|
||||
destinationpath \
|
||||
destinationquality \
|
||||
destinationrename \
|
||||
destinationnoresample \
|
||||
destinationrenamepath \
|
||||
destinationskipmime \
|
||||
|| {
|
||||
echo "Check your Bash version. You need >= 4.0" >&2
|
||||
exit $EBASHVERS
|
||||
}
|
||||
|
||||
declare -r \
|
||||
DOCDIR=./doc \
|
||||
LIBDIR=./lib \
|
||||
SHAREDIR=./share
|
||||
declare -r \
|
||||
exampleconf=$DOCDIR/example.cfg \
|
||||
schema=$SHAREDIR/schema.sql \
|
||||
\
|
||||
oldIFS="$IFS"
|
||||
|
||||
cffile="$HOME/.atom/atom.cfg"
|
||||
LC_ALL=C
|
||||
|
||||
shopt -s extglob
|
||||
|
||||
for function in "$LIBDIR"/*/*
|
||||
do
|
||||
source "$function"
|
||||
done
|
||||
|
||||
while getopts 'Dr' opt
|
||||
do
|
||||
case $opt in
|
||||
D) (( debug++ )) ;;
|
||||
r) regen=1 ;;
|
||||
esac
|
||||
done
|
||||
|
||||
getConfig
|
||||
|
||||
openDatabase
|
||||
|
||||
echo 'SELECT id,filename FROM destination_files WHERE filename IS NOT NULL;' >&3
|
||||
echo 'SELECT "AtOM:NoMoreFiles";' >&3
|
||||
|
||||
read -u4 filename
|
||||
until [[ $filename == AtOM:NoMoreFiles ]]
|
||||
do
|
||||
files+=("$filename")
|
||||
read -u4 filename
|
||||
done
|
||||
|
||||
echo 'BEGIN TRANSACTION;' >&3
|
||||
|
||||
echo -n "Checking for missing files... "
|
||||
for filename in "${files[@]}"
|
||||
do
|
||||
id=${filename%%::AtOM:SQL:Sep::*}
|
||||
filename=${filename#*::AtOM:SQL:Sep::}
|
||||
if ! [ -f "$filename" ]
|
||||
then
|
||||
echo -e "\r$filename\033[K"
|
||||
((regen))&&Update destination_files last_change 0 <<<"id = $id"
|
||||
echo -n "Checking for missing files... "
|
||||
(( missing++ ))
|
||||
fi
|
||||
progressSpin
|
||||
done
|
||||
|
||||
echo 'COMMIT;' >&3
|
||||
|
||||
echo -e "\r${missing:-0} missing files\033[K"
|
||||
|
||||
closeDatabase
|
||||
Loading…
x
Reference in New Issue
Block a user