[db_update] Now only processes one IMAGEID at a time
This commit is contained in:
parent
5034f4c1bb
commit
a9c9e80c06
1 changed files with 13 additions and 15 deletions
|
@ -6,30 +6,28 @@
|
||||||
# db_update - Updates TARGET's DB_FILE with defined IMAGEIDs
|
# db_update - Updates TARGET's DB_FILE with defined IMAGEIDs
|
||||||
#
|
#
|
||||||
# USAGE
|
# USAGE
|
||||||
# db_update <path/to/git/dir> <path/to/target/dir> <path/to/db/file> <IMAGEID> <...>
|
# db_update <path/to/git/dir> <path/to/target/dir> <path/to/db/file> <IMAGEID>
|
||||||
#
|
#
|
||||||
# }
|
# }
|
||||||
|
|
||||||
db_update() {
|
db_update() {
|
||||||
local GIT_DIR="${1}"
|
local GIT_DIR="${1}"
|
||||||
local TARGET="${2}"
|
local TARGET="${2}"
|
||||||
local DB_FILE="${3}"; shift 3
|
local DB_FILE="${3}"
|
||||||
local imageidList=(${@})
|
local IMAGEID="${4}"
|
||||||
|
|
||||||
[[ -f "${DB_FILE}" ]] || touch "${DB_FILE}"
|
[[ -f "${DB_FILE}" ]] || touch "${DB_FILE}"
|
||||||
for imageid in ${imageidList[@]}; do
|
trackidList=($(awk 'BEGIN{FS="\" : \"";RS="\",\n * \""}{if($1=="TRACKID"){print $2}}' ${GIT_DIR}/${IMAGEID}.tags))
|
||||||
trackidList=($(awk 'BEGIN{FS="\" : \"";RS="\",\n * \""}{if($1=="TRACKID"){print $2}}' ${GIT_DIR}/${imageid}.tags))
|
if [[ -f ${GIT_DIR}/${IMAGEID}.tags ]]; then
|
||||||
if [[ -f ${GIT_DIR}/${imageid}.tags ]]; then
|
_msg ECHO "Removing ${IMAGEID} from database file"
|
||||||
_msg ECHO "Removing ${imageid} from database file"
|
gawk -i inplace -v imageid="${IMAGEID}" 'BEGIN{FS="\t";OFS="\t"}{if($2=imageid){$1="null"}{print $0}}' ${DB_FILE}
|
||||||
gawk -i inplace -v imageid="${imageid}" 'BEGIN{FS="\t";OFS="\t"}{if($2=imageid){$1="null"}{print $0}}' ${DB_FILE}
|
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
for trackid in ${trackidList[@]}; do
|
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
|
if [[ -z $(awk -v imageid="${IMAGEID}" -v trackid="${trackid}" 'BEGIN{FS="\t"}{if($2==imageid && $3==trackid){print $0}}' ${DB_FILE}) ]]; then
|
||||||
_msg ECHO "Adding ${trackid} of ${imageid} to database file"
|
_msg ECHO "Adding ${trackid} of ${IMAGEID} to database file"
|
||||||
echo -e "true\t${imageid}\t${trackid}\tnull" >> ${DB_FILE}
|
echo -e "true\t${IMAGEID}\t${trackid}\tnull" >> ${DB_FILE}
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
done
|
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue