def set_devices(cls, current_devices): add_device_set = current_devices - cls._devices lost_device_set = cls._devices - current_devices # remove device for each_device in lost_device_set: logger.info('LOST DEVICE', device=each_device) TaskManager.exec_task(each_device, 'disconnect') # add device for each_device in add_device_set: logger.info('ADD DEVICE', device=each_device) TaskManager.exec_task(each_device, 'connect') cls._devices = current_devices
def get_current_task(task_type=None): current_task_dict = TaskManager.get_task_dict() if task_type and task_type in current_task_dict: return current_task_dict[task_type] return current_task_dict
def when_disconnect(device, do): return TaskManager.register_task(_get_task_type(device), event_type='disconnect', device_list=device, todo=do)