mise a jour

This commit is contained in:
Abdel-Kader Chabi-Sika-Boni 2021-01-01 16:59:42 +01:00
parent d95742b4c7
commit edf85fb28b

View file

@ -3,29 +3,48 @@
import os
import subprocess
import requests
from time import sleep
BOOTSTRAP_SERVER_ADDRESS = '10.10.10.10:5555'
def retrieve_config():
my_config = "oops"
resp = None
my_json_config = {"verdict":"oops"}
my_ip_ = str(subprocess.check_output("echo $MY_IP", shell=True)) #subprocess returning format: b'X.X.X.X\n'
my_ip = my_ip_.replace("b'",'').replace("'",'').replace("\\n",'')
print("MY_IP : %s"%(my_ip))
while resp is None:
while my_json_config["verdict"] != "yes":
try:
resp = requests.get("http://%s/getmyconfig/%s"%(BOOTSTRAP_SERVER_ADDRESS, my_ip), timeout=2)
except:
print("Unable to join the bootstrap server")
try:
my_config = resp.text
my_json_config = resp.json()
except:
print("Unable to extract configs from bootstrap server's answer")
print("request url : %s"%("http://%s/getmyconfig/%s"%(BOOTSTRAP_SERVER_ADDRESS, my_ip)))
print("request url : ==>%s<=="%("http://%s/getmyconfig/%s"%(BOOTSTRAP_SERVER_ADDRESS, my_ip)))
print("received configs : %s"%(my_config))
if my_config != "oops":
if "verdict" in my_json_config and my_json_config["verdict"] == "yes":
my_config = config_json_to_string(my_json_config)
subprocess.check_output("node /mydir/*.js %s"%(my_config), shell=True)
else:
my_json_config = {"verdict":"oops"}
def config_json_to_string(json_config):
config = ""
if "local_ip" in json_config:
config += "--local_ip "+json_config["local_ip"]
if "local_port" in json_config:
config += "--local_port "+json_config["local_port"]
if "local_name" in json_config:
config += "--local_name "+json_config["local_name"]
if "remote_ip" in json_config:
config += "--remote_ip "+json_config["remote_ip"]
if "remote_port" in json_config:
config += "--remote_port "+json_config["remote_port"]
if "remote_name" in json_config:
config += "--remote_name "+json_config["remote_name"]
if "send_period" in json_config:
config += "--send_period "+json_config["send_period"]
return config
retrieve_config()