|
|
@@ -25,6 +25,7 @@ from logging.config import dictConfig
|
|
|
from pprint import pformat
|
|
|
from inspect import getmembers
|
|
|
from aiohttp.resolver import AsyncResolver
|
|
|
+import copy
|
|
|
|
|
|
class ApiJsonEncoder(JSONEncoder):
|
|
|
def default(self, o):
|
|
|
@@ -1044,8 +1045,8 @@ async def refreshQueuesCache():
|
|
|
return len(app.cache['queues'])
|
|
|
|
|
|
async def rebindLostDevices():
|
|
|
- app.cache['usermap'] = {}
|
|
|
- app.cache['devicemap'] = {}
|
|
|
+ usermap = {}
|
|
|
+ devicemap = {}
|
|
|
ast = await getGlobalVars()
|
|
|
for device in app.cache['devices']:
|
|
|
user = await getDeviceUser(device)
|
|
|
@@ -1058,9 +1059,11 @@ async def rebindLostDevices():
|
|
|
await setUserHint(user, dial, ast) # Set hints for user on new device
|
|
|
await setUserDeviceStates(user, device, ast) # Set device states for users device
|
|
|
await setUserDevice(user, device) # Bind device to user
|
|
|
- app.cache['usermap'][device] = user
|
|
|
+ usermap[device] = user
|
|
|
if user != 'none':
|
|
|
- app.cache['devicemap'][user] = device
|
|
|
+ devicemap[user] = device
|
|
|
+ app.cache['usermap'] = copy.deepcopy(usermap)
|
|
|
+ app.cache['devicemap'] = copy.deepcopy(devicemap)
|
|
|
|
|
|
async def userStateChangeCallback(user, state, prevState = None):
|
|
|
reply = None
|