Rework data structures, storing all front-end network data in Network objects
This commit is contained in:
49
main.py
49
main.py
@@ -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():
|
||||
|
||||
Reference in New Issue
Block a user