|
|
|
@ -1,44 +1,51 @@
|
|
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
|
|
# Récupération du chemin absolut du répertoir du script actuel
|
|
|
|
|
# Récupération du chemin absolu du répertoire du script actuel
|
|
|
|
|
GPATH="$( cd "$(dirname "$0")" ; pwd -P )/.."
|
|
|
|
|
[[ ! -f $GPATH/.env ]] && cp $GPATH/.env.example $GPATH/.env
|
|
|
|
|
source $GPATH/.env
|
|
|
|
|
node=$(cut -d '/' -f3 <<<"$DUNITER")
|
|
|
|
|
|
|
|
|
|
#Check if Jaklis is installed
|
|
|
|
|
[[ -z $JAKLIS ]] && JAKLIS=$(which silkaj)
|
|
|
|
|
[[ -z $JAKLIS ]] && echo "Erreur: Vous devez installer Jaklis." && exit 1
|
|
|
|
|
#Check if ed is installed
|
|
|
|
|
which ed || { echo "$0: Error: please install ed" >&2 ; exit 1 ; }
|
|
|
|
|
|
|
|
|
|
#Check if Jaklis or silkaj is installed
|
|
|
|
|
if [[ "$JAKLIS" ]] ; then
|
|
|
|
|
exec() {
|
|
|
|
|
jsonResult=$($JAKLIS idBalance -p $i) || return $?
|
|
|
|
|
balance=$(echo "$jsonResult" | jq -r '.balance')
|
|
|
|
|
username=$(echo "$jsonResult" | jq -r '.username')
|
|
|
|
|
}
|
|
|
|
|
elif which silkaj ; then
|
|
|
|
|
exec() {
|
|
|
|
|
balance=$(silkaj -p "$node" balance "$i") || return $?
|
|
|
|
|
balance=$(sed -n 's,.* \([\.0-9]\+\) Ğ1.*,\1,p' <<<$balance)
|
|
|
|
|
username=$(silkaj -p "$node" id "$i") || return $?
|
|
|
|
|
username=$(sed -n 's,.*: \(.*\)$,\1,p' <<<$username)
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
echo "$0: Error: you should use Jaklis or install silkaj." >&2
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
work() {
|
|
|
|
|
for i in $wallets; do
|
|
|
|
|
exec() {
|
|
|
|
|
jsonResult=$($JAKLIS idBalance -p $i 2>/dev/null)
|
|
|
|
|
}
|
|
|
|
|
exec
|
|
|
|
|
while [[ $? == 1 ]]; do echo "Erreur $k: $i"; ((k++)); exec; done
|
|
|
|
|
unset k
|
|
|
|
|
for i in $wallets; do
|
|
|
|
|
((j++))
|
|
|
|
|
# For tests only
|
|
|
|
|
#(( j > 42 )) && break
|
|
|
|
|
|
|
|
|
|
balance=$(echo "$jsonResult" | jq -r '.balance')
|
|
|
|
|
username=$(echo "$jsonResult" | jq -r '.username')
|
|
|
|
|
formatedBalance=$(printf "%-10s | %-45s | %-1s" $balance $i $username)
|
|
|
|
|
unset k
|
|
|
|
|
while ! exec ; do echo "Erreur $?: retry=$((k)) wallet=$i"; ((k++ > 9999)) && break ; sleep $((RANDOM%8)) ; done
|
|
|
|
|
|
|
|
|
|
if [[ $1 == "members" ]]; then
|
|
|
|
|
htmlBloc="$htmlBloc"$'\n'"<tr><td>$balance</td><td>$i</td><td><b>$username</b></td></tr>"
|
|
|
|
|
unset username
|
|
|
|
|
else
|
|
|
|
|
htmlBloc="$htmlBloc"$'\n'"<tr><td>$balance</td><td>$i</td><td>$username</td></tr>"
|
|
|
|
|
fi
|
|
|
|
|
unset balance
|
|
|
|
|
formatedBalance=$(printf "%-10s | %-45s | %-1s" $balance $i $username)
|
|
|
|
|
|
|
|
|
|
echo "$formatedBalance" | tee -a /tmp/balance-g1.txt
|
|
|
|
|
[[ $1 == "members" ]] && username="<b>$username</b>"
|
|
|
|
|
htmlBloc="$htmlBloc<td>$balance</td><td><a id=\"k$i\" href=\"payto://g1/$i\">$i</a></td><td><b>$username</b></td>"$'\n'
|
|
|
|
|
|
|
|
|
|
totalBalance="$totalBalance"$'\n'"$formatedBalance"
|
|
|
|
|
echo "$formatedBalance" | tee -a /tmp/balance-g1.txt | sed "s,^,$j | ,"
|
|
|
|
|
|
|
|
|
|
# For tests only
|
|
|
|
|
# [[ $i == "13fn6X3XWVgshHTgS8beZMo9XiyScx6MB6yPsBB5ZBia" ]] && break
|
|
|
|
|
# [[ $i == "12JDJibbgZPRfD6Hoecg8rQRvCR5VYrMnqzfhQYmAr3k" ]] && break
|
|
|
|
|
done
|
|
|
|
|
totalBalance="$totalBalance$formatedBalance"$'\n'
|
|
|
|
|
done
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
wallets=$(cat $WEBPATH/data/wallets-g1-membres.txt 2>/dev/null)
|
|
|
|
@ -57,7 +64,7 @@ cp $GPATH/tpl/css/wallets_balance.css $WEBPATH/css/
|
|
|
|
|
cp $GPATH/tpl/js/wallets_balance.js $WEBPATH/js/
|
|
|
|
|
cp $GPATH/tpl/wallets_balance.html $WEBPATH/data/wallets_balance.html
|
|
|
|
|
|
|
|
|
|
sort -Vr <<<"$htmlBloc" > /tmp/solde_g1_html.txt
|
|
|
|
|
sort -Vr <<<"$htmlBloc" | awk '{ print "<tr id=\"p"NR"\"><td>"NR"</td>"$0"</tr>" ; }' > /tmp/solde_g1_html.txt
|
|
|
|
|
printf '%s\n' '/_LINE/r /tmp/solde_g1_html.txt' 1 '/_LINE/d' w | ed $WEBPATH/data/wallets_balance.html > /dev/null
|
|
|
|
|
sed -i "0,/_DATE/s//$(date '+%d-%m-%Y')/" $WEBPATH/data/wallets_balance.html
|
|
|
|
|
rm /tmp/solde_g1_html.txt
|
|
|
|
|