should work - first tests are god

This commit is contained in:
6543 2019-05-11 16:51:51 +02:00
parent b5b5885eb0
commit 65738dae63

View File

@ -19,11 +19,11 @@
{ #get options & args { #get options & args
readonly mode=$(echo $1 | tr -d '-') readonly mode=$(echo $1 | tr -d '-')
moviedir="$1" moviedir="$1"
[ -z "$moviedir" ] && [ -f "$globalconf" ] && { # if (no argument) and (globalconf exist) [ -z "$moviedir" ] && [ -f "$globalconf" ] && { # if (no argument) and (globalconf exist)
if [ -z "$(grep "moviedir=" "$globalconf" )" ]; then # and (moviedir is NOT in globalconf) if [ -z "$(grep "moviedir=" "$globalconf" )" ]; then # and (moviedir is NOT in globalconf)
echo 'neither "movie folder" is set in global config nor given as argument' echo 'neither "movie folder" is set in global config nor given as argument'
exit 2 exit 2
else # and (moviedir is in globalconf) else # and (moviedir is in globalconf)
moviedir="$(grep "moviedir=" "$globalconf" | cut -d '=' -f 2)" moviedir="$(grep "moviedir=" "$globalconf" | cut -d '=' -f 2)"
fi fi
} }
@ -55,15 +55,13 @@ function help() {
## Programm Haupt Ablauf ## ## Programm Haupt Ablauf ##
########################### ###########################
function main() { function main() {
#cd to moviedir
cd "$moviedir"


#db checks #db checks
[ "$(db_check)" == $FALSE ] && exit 1 [ "$(db_check)" == $FALSE ] && exit 1


#clean DB from old stuff #clean DB from old stuff
{ {
db_query "DELETE From File WHERE Size=0 OR MD5="" OR MD5 IS NULL;" db_query "DELETE From File WHERE Size=0 OR MD5='' OR MD5 IS NULL OR Name='';"
#find dublicates ! #find dublicates !
} }


@ -78,7 +76,7 @@ function main() {
#all IDs wich an old check date: #all IDs wich an old check date:
db_query "SELECT ID FROM File Where TTCheck < '$DATE' OR TTCheck IS NULL;" | while read line; do db_query "SELECT ID FROM File Where TTCheck < '$DATE' OR TTCheck IS NULL;" | while read line; do
#for each ID with an old check date ... #for each ID with an old check date ...
ID=$line ID=$line && echo "Progress ID: $ID"
FILE=$(db_query "SELECT CONCAT('$moviedir/', Folder, '/', Name) FROM File WHERE ID=$ID;") FILE=$(db_query "SELECT CONCAT('$moviedir/', Folder, '/', Name) FROM File WHERE ID=$ID;")
if [ -f "$FILE" ]; then if [ -f "$FILE" ]; then
SIZE=$(db_query "SELECT Size FROM File WHERE ID=$ID;") SIZE=$(db_query "SELECT Size FROM File WHERE ID=$ID;")
@ -127,11 +125,11 @@ function main() {
########################### ###########################


##check & prepair args ##check & prepair args
[ -z "$moviedir" ] && [ -f "$globalconf" ] && { # if (no argument) and (globalconf exist) [ -z "$moviedir" ] && [ -f "$globalconf" ] && { # if (no argument) and (globalconf exist)
if [ -z "$(grep "moviedir=" "$globalconf" )" ]; then # and (moviedir is NOT in globalconf) if [ -z "$(grep "moviedir=" "$globalconf" )" ]; then # and (moviedir is NOT in globalconf)
echo 'neither "movie folder" is set in global config nor given as argument' echo 'neither "movie folder" is set in global config nor given as argument'
exit 2 exit 2
else # and (moviedir is in globalconf) else # and (moviedir is in globalconf)
moviedir="$(grep "moviedir=" "$globalconf" | cut -d '=' -f 2)" moviedir="$(grep "moviedir=" "$globalconf" | cut -d '=' -f 2)"
fi fi
} }
@ -152,7 +150,7 @@ function file_size() {
# file_add [rel.path] (md5) # file_add [rel.path] (md5)
function file_add() { function file_add() {
local MD5="$2" local MD5="$2"
local relrevpath="$(echo "$1" | sed 's|^/||g' | sed 's|/$||g' | rev | sed "s/'/''/g")" #last statement set ' as '' so it wont have an evect in the sql statement local relrevpath="$(echo "$1" | sed "s|^$moviedir||g" | sed 's|^/||g' | sed 's|/$||g' | rev | sed "s/'/''/g")" #last statement set ' as '' so it wont have an evect in the sql statement
local name="$(echo "$relrevpath" | cut -d '/' -f 1 | rev)" local name="$(echo "$relrevpath" | cut -d '/' -f 1 | rev)"
local folder="$(echo "$relrevpath" | cut -d '/' -f 2- | rev)" local folder="$(echo "$relrevpath" | cut -d '/' -f 2- | rev)"
local FILE="$moviedir/$(echo "$relrevpath" | rev)" local FILE="$moviedir/$(echo "$relrevpath" | rev)"
@ -162,6 +160,10 @@ function file_add() {
} }
[ -z "$MD5" ] && MD5="$(md5sum "$FILE" | cut -c -32)" [ -z "$MD5" ] && MD5="$(md5sum "$FILE" | cut -c -32)"
local SIZE="$(file_size "$FILE")" local SIZE="$(file_size "$FILE")"
[ "$SIZE" -le 0 ] && {
echo File to smal
return 0
}


#wenn einmal existiert ... #wenn einmal existiert ...
{ {
@ -170,12 +172,12 @@ function file_add() {
db_query "UPDATE File SET TTSync=$TTSYNC_EXIST,TTCheck='$DATE',Size='$SIZE' WHERE AND TTSync='$TTSYNC_DEL' AND MD5='$MD5' AND Name='$name' AND Folder='$folder';" db_query "UPDATE File SET TTSync=$TTSYNC_EXIST,TTCheck='$DATE',Size='$SIZE' WHERE AND TTSync='$TTSYNC_DEL' AND MD5='$MD5' AND Name='$name' AND Folder='$folder';"


#same path wrong md5 #same path wrong md5
#local IDs_W5="$(db_query "SELECT ID FROM File WHERE TTSync!='$TTSYNC_REMOTE' AND MD5!='$MD5' AND Name='$name' AND Folder='$folder';")" #local IDs_W5="$(db_query "SELECT ID FROM File WHERE TTSync!='$TTSYNC_REMOTE' AND TTSync!='$TTSYNC_DEL' AND MD5!='$MD5' AND Name='$name' AND Folder='$folder';")"
db_query "UPDATE File SET TTSync=$TTSYNC_DEL,TTCheck='$DATE' WHERE TTSync!='$TTSYNC_REMOTE' AND MD5!='$MD5' AND Name='$name' AND Folder='$folder';" db_query "UPDATE File SET TTSync=$TTSYNC_DEL,TTCheck='$DATE' WHERE TTSync!='$TTSYNC_REMOTE' AND TTSync!='$TTSYNC_DEL' AND MD5!='$MD5' AND Name='$name' AND Folder='$folder';"


#if something MVs ... #if something MVs ...
local IDs_mv="$(db_query "SELECT ID FROM File WHERE MD5='$MD5' AND Size='$SIZE' AND Name!='$name' AND Folder!='$folder';")" local IDs_mv="$(db_query "SELECT ID FROM File WHERE MD5='$MD5' AND Size='$SIZE' AND (Name!='$name' OR Folder!='$folder');")"
db_query "UPDATE File SET TTCheck='$DATE',Name='$name',Folder='$folder',TTSync='$TTSYNC_EXIST' WHERE AND MD5='$MD5' AND Size='$SIZE' AND Name!='$name' AND Folder!='$folder';" db_query "UPDATE File SET TTCheck='$DATE',Name='$name',Folder='$folder',TTSync='$TTSYNC_EXIST' WHERE MD5='$MD5' AND Size='$SIZE' AND (Name!='$name' OR Folder!='$folder');"


#es existiert genau so ein eintrag #es existiert genau so ein eintrag
local IDs_orig="$(db_query "SELECT ID FROM File WHERE MD5='$MD5' AND Name='$name' AND Folder='$folder';")" local IDs_orig="$(db_query "SELECT ID FROM File WHERE MD5='$MD5' AND Name='$name' AND Folder='$folder';")"