Fix adding hashes, add file_by_filename

This commit is contained in:
Lukáš Kucharczyk 2022-11-16 11:44:25 +01:00
parent 1580865b56
commit c3acf30c66
Signed by: lukas
SSH Key Fingerprint: SHA256:vMuSwvwAvcT6htVAioMP7rzzwMQNi3roESyhv+nAxeg
1 changed files with 16 additions and 8 deletions

24
tag.sh
View File

@ -161,12 +161,13 @@ add_path() {
add_hash() {
# $FILE $HASH
TABLE="hashes"
COLUMN="fid,md5"
local TABLE="hashes"
local COLUMN="fid,md5"
local FILENAME="${1:-}"
[ -z "$FILENAME" ] && fail "No file specified."
! file_exists_in_db "$FILENAME" && fail "File \"$FILENAME\" does not exist in database."
sqlite_insert_multi "$TABLE" "$COLUMN" $RESULT "'$2'"
local FID=$(file_by_filename "$FILENAME")
[[ "$FID" -eq 0 ]] && fail "File \"$FILENAME\" does not exist in database."
sqlite_insert_multi "$TABLE" "$COLUMN" $FID "'$2'"
}
add_path_auto() {
@ -187,16 +188,23 @@ tag_exists_in_db() {
file_exists_in_db() {
# $FILENAME
local FILENAME=$(basename "${1:-}")
local FILEPATH=$(dirname "${1:-}")
local RESULT=$(sqlite_query "SELECT id FROM files WHERE filename = '$FILENAME' AND path = '$FILEPATH'")
if [[ -z "$RESULT" ]]; then
local RESULT=$(file_by_filename "$1")
if [[ "$RESULT" -eq 0 ]]; then
return 1
else
return 0
fi
}
file_by_filename() {
# FILENAME
local FILENAME=$(basename "${1:-}")
local FILEPATH=$(realpath $(dirname "${1:-}"))
local RESULT=0
RESULT=$(sqlite_query "SELECT id FROM files WHERE filename = '$FILENAME' AND path = '$FILEPATH'")
echo $RESULT
}
dbfile_exists() {
if [[ ! -f "$DB_FILE" ]]; then
return 1