Big improve in explorer functions: Use jq select

This commit is contained in:
poka 2020-10-02 23:50:08 +02:00
parent eb86ae17a9
commit e7686377d2
1 changed files with 6 additions and 42 deletions

View File

@ -8,56 +8,20 @@ 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
[[ ! $(grep $dateRange $jsonFile) ]] && 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 .
jsonCum="$(jq -f $GPATH/lib/cumulate.jq $jsonFile)"
jq '.[] | select(.date=="'$dateRange'")' <<<$jsonCum
}
day() {
lineNbr=$(($lineNbr+8))
jsonDated=$(head -n$lineNbr $jsonFile | tail -n10 | sed 's/},/}/g')
jq . <<<"$jsonDated"
jq '.[] | select(.date=="'$dateRange'")' $jsonFile
}
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
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
}
[[ -z $cmd ]] && cmd=cumulate