g1-stats/explorer.sh

66 lines
2.2 KiB
Bash
Executable File

#!/bin/bash
# Récupération du chemin absolut du répertoir du script actuel
GPATH="$( cd "$(dirname "$0")" ; pwd -P )"
source $GPATH/.env
jsonFile="$GPATH/db/daily.json"
cmd=$1
dateRange=$2
[[ -z $dateRange ]] && dateRange=$(jq -r '.[].date' $jsonFile | tail -n1)
lineNbr=$(grep -n "$dateRange" $jsonFile | cut -d : -f 1)
[[ -z $lineNbr ]] && echo "La date $dateRange n'existe pas en cache G1Stats" && exit 1
cumulate() {
lineNbr=$(($lineNbr+7))
jsonDated=$(head -n$lineNbr $jsonFile)
jsonDated=$(echo -e "$jsonDated\n }\n]")
sumRWBrut=$(jq -r '.[].rWallets' <<<$jsonDated | awk '{ SUM += $1} END { printf "%.2f", SUM }')
sumRMBrut=$(jq -r '.[].rMembers' <<<$jsonDated | awk '{ SUM += $1} END { printf "%.2f", SUM }')
sumRTBrut=$(jq -r '.[] | .rWallets, .rMembers' <<<$jsonDated | awk '{ SUM += $1} END { printf "%.2f", SUM }')
sumSWBrut=$(jq -r '.[].sWallets' <<<$jsonDated | awk '{ SUM += $1} END { printf "%.2f", SUM }')
sumSMBrut=$(jq -r '.[].sMembers' <<<$jsonDated | awk '{ SUM += $1} END { printf "%.2f", SUM }')
sumSTBrut=$(jq -r '.[] | .sWallets, .sMembers' <<<$jsonDated | awk '{ SUM += $1} END { printf "%.2f", SUM }')
nbrMembers=$(jq -r '.[].nbrMembers' <<<$jsonDated | awk '{ SUM += $1} END { printf "%.0f", SUM }')
nbrWallets=$(jq -r '.[].nbrWallets' <<<$jsonDated | awk '{ SUM += $1} END { printf "%.0f", SUM }')
soldeWBrut=$(echo "$sumRWBrut-$sumSWBrut" | bc)
soldeMBrut=$(echo "$sumRMBrut-$sumSMBrut" | bc)
UD=$(jq -r '.[].UD' <<<$jsonDated | tail -n1)
echo "{
\"date\": "\"$dateRange\"",
\"UD\": $UD,
\"rWallets\": $sumRWBrut,
\"sWallets\": $sumSWBrut,
\"soldeWallets\": $soldeWBrut,
\"rMembers\": $sumRMBrut,
\"sMembers\": $sumSMBrut,
\"soldeMembers\": $soldeMBrut,
\"nbrMembers\": $nbrMembers,
\"nbrWallets\": $nbrWallets
}
" | jq .
}
day() {
lineNbr=$(($lineNbr+8))
jsonDated=$(head -n$lineNbr $jsonFile | tail -n10 | sed 's/},/}/g')
jq . <<<"$jsonDated"
}
mass() {
lineNbr=$(($lineNbr+7))
jsonDated="$(head -n$lineNbr $jsonFile)}]"
jq -f $GPATH/lib/cumulate.jq <<<"$jsonDated" | jq '.[] | .UD*.nbrMembers' | awk '{ SUM += $1} END { printf "%.2f", SUM }'; echo
}
[[ -z $cmd ]] && cmd=cumulate
$cmd