Link to house9dash

master
Nixellion 2020-06-29 03:49:09 +03:00
parent 2c44265a33
commit 81ae9a62c1
3 changed files with 34 additions and 3 deletions

View File

@ -18,6 +18,8 @@ ros_maximum_speed: 15000000 # 15 mbit
ros_wan_interface: lte1
api_host: 0.0.0.0
api_port: 1357
bad_speed_mbps: 0.2
good_speed_mbps: 8
# Conversion rate 1 mbit : 1000000 bits

View File

@ -4,10 +4,23 @@ import yaml
from paths import CONFIG_DIR
def read_config(name="config"):
with open(os.path.join(CONFIG_DIR, name+".yaml"), "r") as f:
conf_path = os.path.join(CONFIG_DIR, name+".yaml")
if not os.path.exists(conf_path):
return {}
with open(conf_path, "r") as f:
data = yaml.load(f.read())
return data
def write_config(data, name="config"):
with open(os.path.join(CONFIG_DIR, name+".yaml"), "w+") as f:
f.write(yaml.dump(data, default_flow_style=False))
def edit_config(data, name="config"):
conf = read_config(name)
for key, value in data:
conf[key] = value
write_config(conf, name)
def dash_data(data):
edit_config(data, "dash_data")

View File

@ -1,4 +1,4 @@
from configuration import read_config
from configuration import read_config, dash_data
# region Logger
import logging
from debug import setup_logging, catch_errors
@ -325,9 +325,17 @@ def on_fail_or_no_connection():
generate_database_reports()
dash_data({
"wan_download": 0,
"wan_upload": 0,
"quality": 0
})
log.warning("No internet connection! Exiting.")
sys.exit()
def range_convert(value, min_old, max_old, min_new, max_new):
return (((value - min_old) * (max_new - min_new)) / (max_old - min_old)) + min_new
if __name__ == "__main__":
'''
@ -357,6 +365,8 @@ if __name__ == "__main__":
entry.download = mbits(wan_download)
entry.save()
if wan_download < config['ros_minimum_speed']:
wan_download = config['ros_minimum_speed']
@ -366,6 +376,12 @@ if __name__ == "__main__":
generate_database_reports()
dash_data({
"wan_download": mbits(wan_download),
"wan_upload": mbits(wan_upload),
"quality": int(range_convert(wan_download, config['bad_speed_mbps'], config['good_speed_mbps'], 1, 5)),
"quality_percent": int(range_convert(wan_download, config['bad_speed_mbps'], config['good_speed_mbps'], 1, 100))
})
except:
log.error("Error!", exc_info=True)