2020-09-19 04:01:10 +02:00
|
|
|
#!/bin/bash
|
|
|
|
|
2020-09-24 21:54:55 +02:00
|
|
|
# Récupération du chemin absolut du répertoir du script actuel
|
|
|
|
GPATH="$( cd "$(dirname "$0")" ; pwd -P )"
|
|
|
|
source $GPATH/.env
|
|
|
|
|
2020-10-03 03:35:35 +02:00
|
|
|
# Parse options
|
|
|
|
for i in $@; do
|
|
|
|
case "$i" in
|
|
|
|
-c|--cumulate) echo "On cumule !";;
|
|
|
|
-h|--help) echo "Demande d'aide";;
|
|
|
|
*) isOptions+="$i|";;
|
|
|
|
esac
|
|
|
|
done
|
|
|
|
|
2020-09-24 21:54:55 +02:00
|
|
|
jsonFile="$GPATH/db/daily.json"
|
2020-10-03 03:35:35 +02:00
|
|
|
cmd=$(cut -d'|' -f1 <<<"$isOptions")
|
|
|
|
dateRange=$(cut -d'|' -f2 <<<"$isOptions")
|
|
|
|
args="$(cut -d'|' -f2- <<<"$isOptions" | sed 's/.$//' | tr '|' ' ')"
|
|
|
|
|
|
|
|
[[ -z "$dateRange" ]] && dateRange=$(jq -r '.[].date' $jsonFile | tail -n1)
|
|
|
|
[[ ! $(grep "$dateRange" $jsonFile) && $cmd != "select" ]] && echo "La date $dateRange n'existe pas en cache G1Stats" && exit 1
|
2020-09-20 22:32:15 +02:00
|
|
|
|
|
|
|
cumulate() {
|
2020-10-02 23:50:08 +02:00
|
|
|
jsonCum="$(jq -f $GPATH/lib/cumulate.jq $jsonFile)"
|
|
|
|
jq '.[] | select(.date=="'$dateRange'")' <<<$jsonCum
|
2020-09-19 04:01:10 +02:00
|
|
|
}
|
|
|
|
|
2020-09-21 02:04:26 +02:00
|
|
|
day() {
|
2020-10-02 23:50:08 +02:00
|
|
|
jq '.[] | select(.date=="'$dateRange'")' $jsonFile
|
2020-09-20 22:32:15 +02:00
|
|
|
}
|
2020-09-19 04:01:10 +02:00
|
|
|
|
2020-09-22 04:36:33 +02:00
|
|
|
mass() {
|
2020-10-02 23:50:08 +02:00
|
|
|
jsonDated=$(jq '.[0: map(.date) | index("'$dateRange'")+1]' $jsonFile | jq -f $GPATH/lib/cumulate.jq)
|
|
|
|
jq '.[] | .UD*.nbrMembers' <<<"$jsonDated" | awk '{ SUM += $1} END { printf "%.2f", SUM }'; echo
|
2020-09-22 04:36:33 +02:00
|
|
|
}
|
|
|
|
|
2020-10-03 03:35:35 +02:00
|
|
|
solde() {
|
|
|
|
cumDay=$(day)
|
|
|
|
soldeWallets=$(jq '(.rWallets-.sWallets)*100.0+ 0.5|floor/100.0' <<<$cumDay)
|
|
|
|
soldeMembers=$(jq '(.rMembers-.sMembers)*100.0+ 0.5|floor/100.0' <<<$cumDay)
|
|
|
|
jo -p date=$dateRange soldeWallets=$soldeWallets soldeMembers=$soldeMembers | jq .
|
|
|
|
}
|
|
|
|
|
|
|
|
total() {
|
|
|
|
cumDay=$(day)
|
|
|
|
totalReceived=$(jq '(.rWallets+.rMembers)*100.0+ 0.5|floor/100.0' <<<$cumDay)
|
|
|
|
totalSent=$(jq '(.sWallets+.sMembers)*100.0+ 0.5|floor/100.0' <<<$cumDay)
|
|
|
|
jo -p date=$dateRange totalReceived=$totalReceived totalSent=$totalSent | jq .
|
|
|
|
}
|
|
|
|
|
|
|
|
selectFunc() {
|
|
|
|
jq '.[] | select('"$args"')' $jsonFile
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
case $cmd in
|
|
|
|
select) selectFunc;;
|
|
|
|
'') cumulate;;
|
|
|
|
*) $cmd;;
|
|
|
|
esac
|
2020-09-25 02:40:08 +02:00
|
|
|
|