62 lines
No EOL
947 B
Bash
62 lines
No EOL
947 B
Bash
#!/bin/bash
|
|
|
|
FILE_TRASH="/dev/null"
|
|
DB_PATH="./data/"
|
|
SED_DARWIN="''"
|
|
|
|
|
|
# errors :
|
|
# 1 file do not exist
|
|
# 2 entry do not exist
|
|
#
|
|
# ok :
|
|
# 0 entry exist
|
|
function check_in_db {
|
|
|
|
db_name="${1}"
|
|
search_id="${2}"
|
|
|
|
[ -f "${DB_PATH}${db_name}.db" ] || return 1
|
|
cat "${DB_PATH}${db_name}.db" | \
|
|
grep -E "^${search_id}" > "${FILE_TRASH}" || return 2
|
|
return 0
|
|
}
|
|
|
|
function add_in_db {
|
|
|
|
db_name="${1}"
|
|
shift 1
|
|
|
|
local IFS=";"
|
|
echo add
|
|
echo "$*" >> ${DB_PATH}${db_name}.db
|
|
return 0
|
|
|
|
}
|
|
|
|
function delete_in_db {
|
|
|
|
db_name="${1}"
|
|
id="${2}"
|
|
|
|
sed -i ${SED_DARWIN} "/^${id}/d" "${DB_PATH}${db_name}.db"
|
|
return 0
|
|
|
|
}
|
|
|
|
# errors :
|
|
# 0 file do not exist
|
|
#
|
|
# ok :
|
|
# [1-500] entry count
|
|
function count_in_db {
|
|
|
|
db_name="${1}"
|
|
id="${2}"
|
|
|
|
[ -f "${DB_PATH}${db_name}.db" ] || return 0
|
|
count=$(cat "${DB_PATH}${db_name}.db" | grep "${id}" | wc -l | sed -e 's/ //g')
|
|
|
|
return "${count}"
|
|
|
|
} |