New search tool

This commit is contained in:
poka 2021-10-18 07:01:42 +02:00
parent 83475b8dfc
commit 97669b90af
12 changed files with 200 additions and 61 deletions

66
scripts/old_walletsBalance.sh Executable file
View File

@ -0,0 +1,66 @@
#!/bin/bash
# Récupération du chemin absolut du répertoir 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
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
balance=$(echo "$jsonResult" | jq -r '.balance')
[[ $balance == "null" ]] && balance="0"
username=$(echo "$jsonResult" | jq -r '.idty.username')
[[ $username == "null" ]] && username=""
formatedBalance=$(printf "%-10s | %-45s | %-1s" $balance $i $username)
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
echo "$formatedBalance" | tee -a /tmp/balance-g1.txt
totalBalance="$totalBalance"$'\n'"$formatedBalance"
echo "$jsonResult" >> /home/poka/debugJsonForbes.log
# For tests only
# [[ $i == "13fn6X3XWVgshHTgS8beZMo9XiyScx6MB6yPsBB5ZBia" ]] && break
# [[ $i == "12JDJibbgZPRfD6Hoecg8rQRvCR5VYrMnqzfhQYmAr3k" ]] && break
done
}
wallets=$(cat $WEBPATH/data/wallets-g1-membres.txt 2>/dev/null)
[[ -z $wallets ]] && wallets=$(curl -s https://g1-stats.axiom-team.fr/data/wallets-g1-membres.txt)
work members && unset wallets
wallets=$(cat $WEBPATH/data/wallets-g1-simple.txt 2>/dev/null)
[[ -z $wallets ]] && wallets=$(curl -s https://g1-stats.axiom-team.fr/data/wallets-g1-simple.txt)
work && unset wallets
totalBalance=$(sort -nr <<<$totalBalance)
[[ ! -d $GPATH/db ]] && mkdir $GPATH/db
grep . <<<"$totalBalance" > $GPATH/db/wallets_balance.txt && rm /tmp/balance-g1.txt
# Construct HTML
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
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

View File

@ -4,63 +4,10 @@
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
JAKLIS=$(which jaklis)
/usr/local/bin/jaklis listWallets -b > $WEBPATH/data/forbes.json
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
date=$(date -d '+1 minute' +"%d/%m/%Y à %H:%M")
balance=$(echo "$jsonResult" | jq -r '.balance')
[[ $balance == "null" ]] && balance="0"
username=$(echo "$jsonResult" | jq -r '.idty.username')
[[ $username == "null" ]] && username=""
formatedBalance=$(printf "%-10s | %-45s | %-1s" $balance $i $username)
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
echo "$formatedBalance" | tee -a /tmp/balance-g1.txt
totalBalance="$totalBalance"$'\n'"$formatedBalance"
echo "$jsonResult" >> /home/poka/debugJsonForbes.log
# For tests only
# [[ $i == "13fn6X3XWVgshHTgS8beZMo9XiyScx6MB6yPsBB5ZBia" ]] && break
# [[ $i == "12JDJibbgZPRfD6Hoecg8rQRvCR5VYrMnqzfhQYmAr3k" ]] && break
done
}
wallets=$(cat $WEBPATH/data/wallets-g1-membres.txt 2>/dev/null)
[[ -z $wallets ]] && wallets=$(curl -s https://g1-stats.axiom-team.fr/data/wallets-g1-membres.txt)
work members && unset wallets
wallets=$(cat $WEBPATH/data/wallets-g1-simple.txt 2>/dev/null)
[[ -z $wallets ]] && wallets=$(curl -s https://g1-stats.axiom-team.fr/data/wallets-g1-simple.txt)
work && unset wallets
totalBalance=$(sort -nr <<<$totalBalance)
[[ ! -d $GPATH/db ]] && mkdir $GPATH/db
grep . <<<"$totalBalance" > $GPATH/db/wallets_balance.txt && rm /tmp/balance-g1.txt
# Construct HTML
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
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
sed -i "/<div id=\"dataDate\">/!b;n;cCes données ont été actualisées le $date" $WEBPATH/data/search.html

10
tpl/css/src/bootstrap-table.min.css vendored Normal file

File diff suppressed because one or more lines are too long

7
tpl/css/src/bootstrap.min.css vendored Normal file

File diff suppressed because one or more lines are too long

View File

@ -1,8 +1,43 @@
body {
background-color: #c4a787;
margin-top: 10px;
margin-left: 20px;
font-family: "Gill Sans", sans-serif;
background-color: #c4a787 !important;
margin-top: 10px !important;
margin-left: 20px !important;
margin-right: 20px !important;
font-family: "Gill Sans", sans-serif !important;
}
.bootstrap-table .fixed-table-toolbar .bs-bars, .bootstrap-table .fixed-table-toolbar .columns, .bootstrap-table .fixed-table-toolbar .search {
float: inherit !important;
text-align: center;
display:flex;
justify-content:center;
}
.form-control {
height: calc(1.5em + .75rem + 20px) !important;
width: 500px !important;
}
.bootstrap-table .fixed-table-container .fixed-table-body {
height: inherit !important;
}
.bootstrap-table .fixed-table-container {
background-color: #DFCFBE;
border-collapse: collapse !important; /* Collapse borders */
border: 1px solid #ddd !important; /* Add a grey border */
font-size: 16px !important; /* Increase font-size */
}
.bootstrap-table .fixed-table-container th {
background-color: #B69776;
}
#dataDate {
position: absolute;
left: 50%;
transform: translate(-50%, -50%);;
bottom: 0;
}
.date {

View File

@ -14,6 +14,7 @@
<div class="header">
<center><h1>Ḡ1 Stats</h1>
| <a href="/data/daily.json">Voir le JSON g1stats</a>
| <a href="/data/search.html">Recherche</a>
| <a href="/data/wallets-g1.txt">Liste de tous les wallets</a>
| <a href="/data/wallets-g1-membres.txt">Liste des wallets membres</a>
| <a href="/data/wallets-g1-simple.txt">Liste des simples portefeuilles</a>

10
tpl/js/src/bootstrap-table-fr-FR.min.js vendored Normal file

File diff suppressed because one or more lines are too long

10
tpl/js/src/bootstrap-table.min.js vendored Normal file

File diff suppressed because one or more lines are too long

7
tpl/js/src/bootstrap.min.js vendored Normal file

File diff suppressed because one or more lines are too long

2
tpl/js/src/jquery.min.js vendored Normal file

File diff suppressed because one or more lines are too long

5
tpl/js/src/popper.min.js vendored Normal file

File diff suppressed because one or more lines are too long

39
tpl/search.html Normal file
View File

@ -0,0 +1,39 @@
<html>
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="../css/wallets_balance.css">
<link rel="stylesheet" href="../css/src/bootstrap.min.css">
<link rel="stylesheet" href="../css/src/bootstrap-table.min.css">
<script src="../js/src/jquery.min.js"></script>
<script src="../js/src/popper.min.js"></script>
<script src="../js/src/bootstrap.min.js"></script>
<script src="../js/src/bootstrap-table.min.js"></script>
<script src="../js/src/bootstrap-table-fr-FR.min.js"></script>
</head>
<body>
<table id="walletsTable" data-toggle="table" data-locale="fr-FR" data-pagination="true" data-page-size='10' data-page-list="[10, 25, 50, 100, 500, all]" data-search="true" data-url="forbes.json">
<thead>
<tr>
<th data-sortable="true" data-field="pubkey">Clé publique</th>
<th data-sortable="true" data-field="id.username">Pseudo</th>
<th data-sortable="true" data-field="id.isMember">Membre</th>
<th data-sortable="true" data-field="balance">Solde (Ğ1)</th>
</tr>
</thead>
</table>
<br><br>
<center>
<div id="dataDate">
Ces données ont été actualisées le 18/10/2021 à 06:16
</div>
</center>
</body>
</html>