badgy/badgy

111 lines
2.2 KiB
Bash
Executable File

#!/bin/bash
CURLIE="curlie"
clockin()
{
${CURLIE} POST ${BADGEURL}/clockin key=${KEY} 2> /dev/null
}
clockout()
{
${CURLIE} POST ${BADGEURL}/clockout key=${KEY} 2> /dev/null
}
validate()
{
${CURLIE} POST ${BADGEURL}/validate key=${KEY} dateof=$(date +'%Y-%m-%d') 2> /dev/null
}
devalidate()
{
${CURLIE} POST ${BADGEURL}/devalidate key=${KEY} dateof=$(date +'%Y-%m-%d') 2> /dev/null
}
s2h()
{
local sc=${1}
local h=$(( sc / 3600))
local m=$(( (sc % 3600) / 60 ))
local s=$(( sc % 60))
printf "%dh%02dm" "${h}" "${m}"
}
getNewBalance()
{
local wk=25200
local blh=$(echo ${1} | cut -d ':' -f 1)
local blm=$(echo ${1} | cut -d ':' -f 2)
local bls=""
local nbls=""
echo ${nbls}
}
getCapitalTime()
{
data=$(${CURLIE} POST ${BADGEURL}/showtimers key=${KEY} dateof=$(date +'%Y-%m-%d') 2> /dev/null)
clocks=$(echo ${data} | jq -rc ".timers[]")
sl=$(echo ${data} | jq -rc ".capitaltime")
dr=0
echo "Timers:"
for cl in ${clocks}
do
starts=$(echo ${cl} | jq -rc ".start")
st=$(date --date="${starts}" +'%s')
ends=$(echo ${cl} | jq -rc ".end")
echo
echo " Start: $(date --date=${starts} +'%A %d %B %Y : %H:%M')"
if [ "${ends}" != "null" ];then
ed=$(date --date="${ends}" +'%s')
echo " End: $(date --date=${ends} +'%A %d %B %Y : %H:%M')"
else
ed=$(date +'%s')
echo " End: running"
fi
dr=$(( dr + (ed - st)))
done
nbl=$(getNewBalance "${sl}" "${dr}")
echo
echo "Your time balance is : ${sl}"
echo "Today you worked $(s2h ${dr})"
#echo "If you validate now your balance will be : ${nbl}"
}
show()
{
${CURLIE} POST ${BADGEURL}/showtimers key=${KEY} dateof=$(date +'%Y-%m-%d') 2> /dev/null
}
if [ -e "${HOME}/.badgyrc" ]; then
. ${HOME}/.badgyrc
else
echo "${HOME}/.badgyrc file is missing, I need it"
echo "Create it with this command:"
echo " echo 'BADGEURL="https://myninebage" KEY="XXXX-XX-XXX-XXX"' > ${HOME}/.badyrc"
exit 2
fi
case ${1} in
in|clockin|c)
clockin | jq
;;
out|clockout|o)
clockout | jq
;;
val|validate|v)
validate | jq
;;
dev|devalidate|d)
devalidate | jq
;;
solde|sld|captial|s)
getCapitalTime
;;
*)
echo `${1}` | jq
;;
esac