update() does not recurse nested dictionaries

master
Simon 2 years ago
parent 88aa091b27
commit 9610bc8687

@ -68,6 +68,11 @@ class FD_APIUserDefinedContext(object):
def killserver(self): def killserver(self):
self.CONFIG['GLOBAL']['_KILL_SERVER'] = True self.CONFIG['GLOBAL']['_KILL_SERVER'] = True
def resetAllConnections(self):
systems = self.CONFIG['SYSTEMS']
for system in systems:
self.CONFIG['SYSTEMS'][system]['_reset'] = True
class FD_API(ServiceBase): class FD_API(ServiceBase):
@ -119,6 +124,13 @@ class FD_API(ServiceBase):
else: else:
raise error.InvalidCredentialsError() raise error.InvalidCredentialsError()
@rpc(Unicode)
def resetall(ctx,systemkey):
if ctx.udc.validateSystemKey(systemkey):
return ctx.udc.resetAllConnections()
else:
raise error.InvalidCredentialsError()
@rpc(Unicode,_returns=Unicode()) @rpc(Unicode,_returns=Unicode())
def getconfig(ctx,systemkey): def getconfig(ctx,systemkey):
if ctx.udc.validateSystemKey(systemkey): if ctx.udc.validateSystemKey(systemkey):

@ -357,7 +357,9 @@ def remove_bridge_system(system):
for _bridgesystem in BRIDGES[_bridge]: for _bridgesystem in BRIDGES[_bridge]:
if _bridgesystem['SYSTEM'] != system: if _bridgesystem['SYSTEM'] != system:
if _bridge not in _bridgestemp: if _bridge not in _bridgestemp:
continue _bridgestemp[_bridge] = []
_bridgestemp[_bridge].append(_bridgesystem)
else: else:
if _bridge not in _bridgestemp: if _bridge not in _bridgestemp:
_bridgestemp[_bridge] = [] _bridgestemp[_bridge] = []
@ -862,7 +864,7 @@ def bridge_reset():
logger.debug('(BRIDGERESET) Running bridge resetter') logger.debug('(BRIDGERESET) Running bridge resetter')
for _system in CONFIG['SYSTEMS']: for _system in CONFIG['SYSTEMS']:
if '_reset' in CONFIG['SYSTEMS'][_system] and CONFIG['SYSTEMS'][_system]['_reset']: if '_reset' in CONFIG['SYSTEMS'][_system] and CONFIG['SYSTEMS'][_system]['_reset']:
logger.info('(BRIDGERESET) Bridge reset for %s - no peers',_system) logger.info('(BRIDGERESET) Bridge reset for %s - no peers or API reset called',_system)
remove_bridge_system(_system) remove_bridge_system(_system)
try: try:
del(CONFIG['SYSTEMS'][_system]['_opt_key']) del(CONFIG['SYSTEMS'][_system]['_opt_key'])
@ -875,7 +877,7 @@ def bridge_reset():
def options_config(): def options_config():
logger.debug('(OPTIONS) Running options parser') logger.debug('(OPTIONS) Running options parser')
prohibitedTGs = [0,1,2,3,4,5,9,9990,9991,9992,9993,9994,9995,9996,9997,9998,9999] prohibitedTGs = [0,1,2,3,4,5,6,7,8,9,9990,9991,9992,9993,9994,9995,9996,9997,9998,9999]
for _system in CONFIG['SYSTEMS']: for _system in CONFIG['SYSTEMS']:

Loading…
Cancel
Save

Powered by TurnKey Linux.