def test_device_factory(self): controller = controller_factory('g3') for i, clazz in enumerate(ThermaltakeDevice.inheritors()): if clazz.model is None: continue dev = ThermaltakeDevice.factory(clazz.model, controller, 1) controller.attach_device(i, dev) self.assertIsInstance(ThermaltakeDevice.factory(clazz.model, controller, 1), clazz)
def __init__(self): LOGGER.info('initializing thermaltake rgb daemon') LOGGER.debug('loading config') self.config = Config() LOGGER.debug('creating fan manager') fan_model = FanModel.factory(self.config.fan_manager) self.fan_manager = FanManager(fan_model) LOGGER.debug('creating lighting manager') self.lighting_manager = LightingEffect.factory( self.config.lighting_manager) self.attached_devices = {} self.controllers = {} LOGGER.debug('configuring controllers') for controller in self.config.controllers: self.controllers[ controller['unit']] = ThermaltakeController.factory( controller['type'], controller.get('unit')) for id, model in controller['devices'].items(): LOGGER.debug(' configuring devices for controller %s: %s', controller['type'], controller.get('unit')) dev = ThermaltakeDevice.factory( model, self.controllers[controller['unit']], id) self.controllers[controller['unit']].attach_device(id, dev) self.register_attached_device(controller['unit'], id, dev) self._continue = False
def __init__(self): self.config = Config() fan_model = FanModel.factory(self.config.fan_manager) self.fan_manager = FanManager(fan_model) self.lighting_manager = LightingEffect.factory(self.config.lighting_manager) self.dbus_service = ThermaltakeDbusService(self) self.attached_devices = {} self.controllers = {} for controller in self.config.controllers: self.controllers[controller['unit']] = controller_factory(controller['type'], controller['unit']) for id, model in controller['devices'].items(): dev = ThermaltakeDevice.factory(model, self.controllers[controller['unit']], id) self.controllers[controller['unit']].attach_device(id, dev) self.register_attached_device(controller['unit'], id, dev) self._thread = Thread(target=self._main_loop) self._continue = False
self_config = Config() self_lighting_manager = LightingEffect.factory(self_config.lighting_manager) self_fan_manager = None self_attached_devices = {} self_controllers = {} self_attached_devices = {} LOGGER.debug('configuring controllers') for controller in self_config.controllers: self_controllers[controller['unit']] = ThermaltakeController.factory( controller['type'], controller.get('unit')) for id, model in controller['devices'].items(): dev = ThermaltakeDevice.factory(model, self_controllers[controller['unit']], id) self_controllers[controller['unit']].attach_device(id, dev) if isinstance(dev, devices.ThermaltakeFanDevice) and self_fan_manager: LOGGER.debug(' registering %s with fan manager', dev.model) self_fan_manager.attach_device(dev) if isinstance(dev, devices.ThermaltakeRGBDevice) and self_lighting_manager: LOGGER.debug(' registering %s with lighting manager', dev.model) self_lighting_manager.attach_device(dev) self_attached_devices[f'{model}:{id}'] = dev first_device = self_lighting_manager._devices[0]