Commit fb64ef09 authored by Pascal Engélibert's avatar Pascal Engélibert

Add install instructions, open DBs loop, -s arg

parent 89eb4a00
Pipeline #4358 failed with stages
in 38 seconds
...@@ -10,7 +10,7 @@ Exploration de la Toile de Confiance de Duniter utilisant la librairie javascrip ...@@ -10,7 +10,7 @@ Exploration de la Toile de Confiance de Duniter utilisant la librairie javascrip
## Fonctionnalités ## Fonctionnalités
* Importation des données * Importation des données
* 1 scripts PHP est fourni pour récupérer les données directement depuis la base de données de votre noeud Duniter local ainsi que les photos des membres depuis une instance duniter4j * 1 script Python est fourni pour récupérer les données directement depuis la base de données de votre noeud Duniter local ainsi que les photos des membres depuis une instance duniter4j
* Un fichier JSON exemple est fourni * Un fichier JSON exemple est fourni
* Affichage de la toile de confiance sous forme de graphe * Affichage de la toile de confiance sous forme de graphe
* Les noeuds sont les membres certifiés * Les noeuds sont les membres certifiés
...@@ -40,8 +40,15 @@ Déposez le dossier wotmap et son arborescence dans le dossier HOME de votre uti ...@@ -40,8 +40,15 @@ Déposez le dossier wotmap et son arborescence dans le dossier HOME de votre uti
Require all granted Require all granted
</Directory> </Directory>
### Paquets nécessaires
Installez **python3** et **pip** pour Python 3 (_python-pip3_ ou _python-pip_)
Installez la bibliothèque python plyvel&nbsp;:
sudo pip3 install plyvel
### Automatisation de la mise à jour des données (CRON) ### Automatisation de la mise à jour des données (CRON)
Créez le fichier ***/etc/cron.d/wotmap*** sur votre serveur pour automatiser le lancement du script : Créez le fichier ***/etc/cron.d/wotmap*** sur votre serveur pour automatiser le lancement du script :
````30 3 * * * duniter python3 /var/lib/duniter/wotmap/script/wot_json.py >> /var/log/wotmap/wotmap.log 2>&1```` 30 3 * * 6 python3 /var/lib/duniter/wotmap/script/wot_json.py -d >> /var/log/wotmap/wotmap.log 2>&1
30 3 * * 0-5 python3 /var/lib/duniter/wotmap/script/wot_json.py >> /var/log/wotmap/wotmap.log 2>&1
...@@ -35,6 +35,7 @@ if __name__ == "__main__": ...@@ -35,6 +35,7 @@ if __name__ == "__main__":
-m <int> Avatars cache max age (s) -m <int> Avatars cache max age (s)
-M <file> Default avatar public local path -M <file> Default avatar public local path
-v Verbose -v Verbose
-s Do not stop & restart Duniter
Default options: Default options:
-i ~/.config/duniter/duniter_default/data/leveldb -i ~/.config/duniter/duniter_default/data/leveldb
...@@ -47,7 +48,9 @@ Default options: ...@@ -47,7 +48,9 @@ Default options:
exit() exit()
# Initialize # Initialize
os.system('duniter stop') if not "-s" in sys.argv:
os.system("duniter stop")
outdata = {"nodes":[], "edges":[]} outdata = {"nodes":[], "edges":[]}
index = {}# pub -> id index = {}# pub -> id
...@@ -64,8 +67,13 @@ Default options: ...@@ -64,8 +67,13 @@ Default options:
# Get datas # Get datas
log("Opening DBs...") log("Opening DBs...")
iindex = plyvel.DB(dbpath+"/level_iindex/") iindex, cindex = 0, 0
cindex = plyvel.DB(dbpath+"/level_cindex/") while not (iindex and cindex):
try:
iindex = plyvel.DB(dbpath+"/level_iindex/")
cindex = plyvel.DB(dbpath+"/level_cindex/")
except plyvel._plyvel.IOError:
time.sleep(0.5)
log("Generating nodes...") log("Generating nodes...")
i = 0 i = 0
...@@ -158,4 +166,6 @@ Default options: ...@@ -158,4 +166,6 @@ Default options:
outfile = open(outpath, "w") outfile = open(outpath, "w")
json.dump(outdata, outfile) json.dump(outdata, outfile)
outfile.close() outfile.close()
os.system('duniter start')
if not "-s" in sys.argv:
os.system("duniter start")
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment