New search tool
This commit is contained in:
parent
83475b8dfc
commit
97669b90af
|
@ -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
|
|
@ -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
|
||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -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 {
|
||||
|
|
|
@ -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>
|
||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -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>
|
Loading…
Reference in New Issue