Rework data structures, storing all front-end network data in Network objects

This commit is contained in:
Al Beano
2019-08-11 21:58:14 +01:00
parent f6657cb905
commit e5adcfef4c
24 changed files with 258 additions and 284 deletions

49
main.py
View File

@@ -1,4 +1,5 @@
from json import load, dump, loads
import json
import pickle
from redis import StrictRedis
from string import digits
from utils.logging.log import *
@@ -7,17 +8,17 @@ configPath = "conf/"
certPath = "cert/"
filemap = {
"config": ["config.json", "configuration"],
"pool": ["pool.json", "network, alias and relay mappings"],
"help": ["help.json", "command help"],
"counters": ["counters.json", "counters file"],
"masterbuf": ["masterbuf.json", "master buffer"],
"monitor": ["monitor.json", "monitoring database"],
"alias": ["alias.json", "alias details"],
"relay": ["relay.json", "relay list"],
"network": ["network.json", "network list"],
"tokens": ["tokens.json", "authentication tokens"],
"aliasdata": ["aliasdata.json", "data for alias generation"]
# JSON configs
"config": ["config.json", "configuration", "json"],
"help": ["help.json", "command help", "json"],
"counters": ["counters.json", "counters file", "json"],
"masterbuf": ["masterbuf.json", "master buffer", "json"],
"monitor": ["monitor.json", "monitoring database", "json"],
"tokens": ["tokens.json", "authentication tokens", "json"],
"aliasdata": ["aliasdata.json", "data for alias generation", "json"],
# Binary (pickle) configs
"network": ["network.dat", "network list", "pickle"]
}
connections = {}
@@ -48,13 +49,27 @@ def liveNets():
return networks
def saveConf(var):
with open(configPath+filemap[var][0], "w") as f:
dump(globals()[var], f, indent=4)
return
if filemap[var][2] == "json":
with open(configPath+filemap[var][0], "w") as f:
json.dump(globals()[var], f, indent=4)
elif filemap[var][2] == "pickle":
with open(configPath+filemap[var][0], "wb") as f:
pickle.dump(globals()[var], f)
else:
raise Exception("invalid format")
def loadConf(var):
with open(configPath+filemap[var][0], "r") as f:
globals()[var] = load(f)
if filemap[var][2] == "json":
with open(configPath+filemap[var][0], "r") as f:
globals()[var] = json.load(f)
elif filemap[var][2] == "pickle":
try:
with open(configPath+filemap[var][0], "rb") as f:
globals()[var] = pickle.load(f)
except FileNotFoundError:
globals()[var] = {}
else:
raise Exception("invalid format")
def initConf():
for i in filemap.keys():