Compare commits
2 Commits
1580865b56
...
741f349028
Author | SHA1 | Date |
---|---|---|
Lukáš Kucharczyk | 741f349028 | |
Lukáš Kucharczyk | c3acf30c66 |
25
tag.sh
25
tag.sh
|
@ -150,6 +150,7 @@ add_path() {
|
|||
COLUMN="filename,path"
|
||||
FILES=()
|
||||
for FILE in "$@"; do
|
||||
[ ! -f "$FILE" ] && fail "File '$FILE' does not exist in the specified path."
|
||||
local FILENAME=$(basename "$FILE")
|
||||
local FILEPATH=$(realpath $(dirname "$FILE"))
|
||||
file_exists_in_db "$FILE" && fail "File '$FILE' already exists in database."
|
||||
|
@ -161,12 +162,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 +189,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
|
||||
|
|
|
@ -15,6 +15,7 @@ oneTimeTearDown() {
|
|||
# runs one-time teardown two times
|
||||
# see https://github.com/kward/shunit2/issues/112
|
||||
[ -f "$DB_FILE" ] && rm "$DB_FILE"
|
||||
rm "$FILENAME"
|
||||
}
|
||||
|
||||
testDbCreated() {
|
||||
|
@ -27,7 +28,13 @@ testTagAdded() {
|
|||
assertEquals $RESULT "hello"
|
||||
}
|
||||
|
||||
testFailAddingNonexistentFile() {
|
||||
tag --db "$DB_FILE" import "$FILENAME" 2>/dev/null
|
||||
assertEquals "$?" 1
|
||||
}
|
||||
|
||||
testFilenameAdded() {
|
||||
touch "$FILENAME"
|
||||
tag --db "$DB_FILE" add path "$FILENAME" >/dev/null
|
||||
RESULT=$(sqlite3 "$DB_FILE" "SELECT filename from files WHERE filename = '$FILENAME'")
|
||||
assertEquals "$RESULT" "$FILENAME"
|
||||
|
|
Loading…
Reference in New Issue