2018-03-26 19:34:44 -04:00
|
|
|
#!/bin/bash
|
|
|
|
|
2018-03-28 12:48:49 -04:00
|
|
|
# doc db_update {
|
2018-03-26 19:34:44 -04:00
|
|
|
#
|
|
|
|
# DESCRIPTION
|
2018-03-28 12:48:49 -04:00
|
|
|
# db_update - Updates TARGET's DB_FILE with defined IMAGEIDs
|
2018-03-26 19:34:44 -04:00
|
|
|
#
|
|
|
|
# USAGE
|
2018-04-07 22:48:02 -04:00
|
|
|
# db_update <path/to/git/dir> <path/to/target/dir> <path/to/db/file> <IMAGEID>
|
2018-03-26 19:34:44 -04:00
|
|
|
#
|
|
|
|
# }
|
|
|
|
|
2018-03-28 12:48:49 -04:00
|
|
|
db_update() {
|
2018-03-28 09:52:57 -04:00
|
|
|
local GIT_DIR="${1}"
|
2018-03-26 19:34:44 -04:00
|
|
|
local TARGET="${2}"
|
2018-04-07 22:48:02 -04:00
|
|
|
local DB_FILE="${3}"
|
|
|
|
local IMAGEID="${4}"
|
2018-03-26 19:34:44 -04:00
|
|
|
|
2018-03-28 09:52:57 -04:00
|
|
|
[[ -f "${DB_FILE}" ]] || touch "${DB_FILE}"
|
2018-04-07 22:48:02 -04:00
|
|
|
trackidList=($(awk 'BEGIN{FS="\" : \"";RS="\",\n * \""}{if($1=="TRACKID"){print $2}}' ${GIT_DIR}/${IMAGEID}.tags))
|
2018-04-08 13:51:31 -04:00
|
|
|
if [[ ! -f "${GIT_DIR}/${IMAGEID}.tags" ]]; then
|
|
|
|
gawk -i inplace -v imageid="${IMAGEID}" 'BEGIN{FS="\t";OFS="\t"}{if($2==imageid){$1="null"}{print $0}}' ${DB_FILE}
|
|
|
|
return 1
|
2018-04-07 22:48:02 -04:00
|
|
|
fi
|
|
|
|
for trackid in ${trackidList[@]}; do
|
|
|
|
if [[ -z $(awk -v imageid="${IMAGEID}" -v trackid="${trackid}" 'BEGIN{FS="\t"}{if($2==imageid && $3==trackid){print $0}}' ${DB_FILE}) ]]; then
|
2018-05-15 23:51:40 -07:00
|
|
|
echo -e "false\t${IMAGEID}\t${trackid}\tnull" >> ${DB_FILE}
|
2018-04-06 18:40:19 -04:00
|
|
|
fi
|
2018-03-26 19:34:44 -04:00
|
|
|
done
|
2018-04-15 19:01:39 -04:00
|
|
|
return 0
|
2018-03-26 19:34:44 -04:00
|
|
|
}
|