Compare commits
6 Commits
dcbc0b23d6
...
d743baa4d4
Author | SHA1 | Date |
---|---|---|
Lukáš Kucharczyk | d743baa4d4 | |
Lukáš Kucharczyk | 70ea680b0f | |
Lukáš Kucharczyk | 4761ef5040 | |
Lukáš Kucharczyk | f8b75eb91b | |
Lukáš Kucharczyk | f7102e1fc4 | |
Lukáš Kucharczyk | 90f436fb23 |
19
tag.sh
19
tag.sh
|
@ -18,7 +18,14 @@ set -ueo pipefail
|
|||
# FIXME: adding tags doesn't work
|
||||
|
||||
SCRIPT_DIR=$(dirname $(readlink "$0"))
|
||||
DB_FILE="tags.db"
|
||||
CURRENT_DIR=$(dirname "$PWD")
|
||||
SCRIPT_NAME=$(basename "$0")
|
||||
|
||||
|
||||
DB_FILE="${CURRENT_DIR}/tags.db"
|
||||
[ "$1" = "--db" ] && DB_FILE="$2" && shift 2
|
||||
|
||||
|
||||
DB_SCHEMA="${SCRIPT_DIR}/database.sql"
|
||||
declare -A FILTERS
|
||||
FILTERS[video]="avi|flv|mkv|mov|mp4|mpg|ogv|webm|wmv"
|
||||
|
@ -34,9 +41,10 @@ log() {
|
|||
}
|
||||
|
||||
init() {
|
||||
[ -f "$DB_FILE" ] && fail "Database file \"$DB_FILE\" already exists. Aborting."
|
||||
cat "$DB_SCHEMA" | sqlite3 "$DB_FILE"
|
||||
log "Empty database file \"$DB_FILE\" created."
|
||||
# DB_NAME
|
||||
[ -f "$1" ] && fail "Database file \"$1\" already exists. Aborting."
|
||||
cat "$DB_SCHEMA" | sqlite3 "$1"
|
||||
log "Empty database file \"$1\" created."
|
||||
}
|
||||
|
||||
enumerate_positional_parameters() {
|
||||
|
@ -126,7 +134,7 @@ add_path_auto() {
|
|||
|
||||
main() {
|
||||
if [[ "$1" = "init" ]]; then
|
||||
init
|
||||
init "${2:-$DB_FILE}"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
|
@ -182,6 +190,7 @@ main() {
|
|||
fi
|
||||
|
||||
if [[ "$1" = "listtags" ]]; then
|
||||
[ -z "${2:-}" ] && fail "Usage: $SCRIPT_NAME listtags filename"
|
||||
listtags "$2"
|
||||
exit 0
|
||||
fi
|
||||
|
|
|
@ -0,0 +1,43 @@
|
|||
#!/usr/bin/env bash
|
||||
set -ueo pipefail
|
||||
|
||||
SCRIPT_DIR=$(dirname $(readlink -f "$0"))
|
||||
DB_FILE="test.db"
|
||||
|
||||
oneTimeSetUp() {
|
||||
tag --db "$DB_FILE" init >/dev/null
|
||||
}
|
||||
|
||||
oneTimeTearDown() {
|
||||
# need to check if file exists
|
||||
# because of bug in shunit2 that
|
||||
# runs one-time teardown two times
|
||||
# see https://github.com/kward/shunit2/issues/112
|
||||
[ -f "$DB_FILE" ] && rm "$DB_FILE"
|
||||
}
|
||||
|
||||
testDbCreated() {
|
||||
assertTrue "[[ -f \"$DB_FILE\" ]]"
|
||||
}
|
||||
|
||||
testTagAdded() {
|
||||
tag --db "$DB_FILE" add tag hello >/dev/null
|
||||
RESULT=$(sqlite3 "$DB_FILE" "SELECT label from tags WHERE label = 'hello'")
|
||||
assertEquals $RESULT "hello"
|
||||
}
|
||||
|
||||
testFilenameAdded() {
|
||||
local FILENAME="test.mp4"
|
||||
tag --db "$DB_FILE" add path "$FILENAME" >/dev/null
|
||||
RESULT=$(sqlite3 "$DB_FILE" "SELECT filename from files WHERE filename = '$FILENAME'")
|
||||
assertEquals "$RESULT" "$FILENAME"
|
||||
}
|
||||
|
||||
testHashAdded() {
|
||||
local HASH="fbe2153ce0614d76a378b2e6fe07cc9e"
|
||||
tag --db "$DB_FILE" add hash "$HASH" >/dev/null
|
||||
RESULT=$(sqlite3 "$DB_FILE" "SELECT md5 from hashes WHERE hash = '$HASH'")
|
||||
assertEquals "$RESULT" "$HASH"
|
||||
}
|
||||
|
||||
. ../shunit2/shunit2
|
Loading…
Reference in New Issue