def __init__(self, instance, handler=None): self.instance = instance class OptionsForm(WidgetOptionsForm): pass class SensorsForm(WidgetSensorsForm): pass class CommandsForm(WidgetCommandsForm): pass class DevicesForm(WidgetDevicesForm): pass widgetoptions = WidgetOption.getWidget(instance.widget_id) if widgetoptions: self.has_options = True widgetsensors = WidgetSensor.getWidget(instance.widget_id) if widgetsensors: self.has_sensors = True widgetcommands = WidgetCommand.getWidget(instance.widget_id) if widgetcommands: self.has_commands = True widgetdevices = WidgetDevice.getWidget(instance.widget_id) if widgetdevices: self.has_devices = True if not handler: options = WidgetInstanceOption.getInstance(instance.id) dataOptions = dict([(r.key, r.value) for r in options]) sensors = WidgetInstanceSensor.getInstance(instance.id) dataSensors = dict([(r.key, r.sensor_id) for r in sensors]) commands = WidgetInstanceCommand.getInstance(instance.id) dataCommands = dict([(r.key, r.command_id) for r in commands]) devices = WidgetInstanceDevice.getInstance(instance.id) dataDevices = dict([(r.key, r.device_id) for r in devices]) else: dataOptions = None dataSensors = None dataCommands = None dataDevices = None for option in widgetoptions: OptionsForm.addField(option=option) for option in widgetsensors: SensorsForm.addField(option=option) for option in widgetcommands: CommandsForm.addField(option=option) for option in widgetdevices: DevicesForm.addField(option=option) self.optionsform = OptionsForm(instance=instance, handler=handler, data=dataOptions, prefix='optionparam_') self.sensorsform = SensorsForm(instance=instance, handler=handler, data=dataSensors, prefix='sensorparam_') self.commandsform = CommandsForm(instance=instance, handler=handler, data=dataCommands, prefix='commandparam_') self.devicesform = DevicesForm(instance=instance, handler=handler, data=dataDevices, prefix='deviceparam_') self.generalform = WidgetGeneralForm(handler=handler, data=dataOptions, prefix='generalparam_') self.styleform = WidgetStyleForm(handler=handler, data=dataOptions, prefix='styleparam_')
def __init__(self, instance, handler=None): self.instance = instance class OptionsForm(WidgetOptionsForm): pass class SensorsForm(WidgetSensorsForm): pass class CommandsForm(WidgetCommandsForm): pass class DevicesForm(WidgetDevicesForm): pass widgetoptions = WidgetOption.getWidget(instance.widget_id) if widgetoptions: self.has_options = True widgetsensors = WidgetSensor.getWidget(instance.widget_id) if widgetsensors: self.has_sensors = True widgetcommands = WidgetCommand.getWidget(instance.widget_id) if widgetcommands: self.has_commands = True widgetdevices = WidgetDevice.getWidget(instance.widget_id) if widgetdevices: self.has_devices = True if not handler: options = WidgetInstanceOption.getInstance(instance.id) dataOptions = dict([(r.key, r.value) for r in options]) sensors = WidgetInstanceSensor.getInstance(instance.id) dataSensors = dict([(r.key, r.sensor_id) for r in sensors]) # Rebuild array values reg = re.compile(r"(.*)-(\d+)") tmpdict = {} for k, v in dataSensors.iteritems(): res = reg.match(k) if res: if (res.group(1) not in tmpdict): tmpdict[res.group(1)] = [] tmpdict[res.group(1)].append(v) dataSensors = dict(dataSensors.items() + tmpdict.items()) commands = WidgetInstanceCommand.getInstance(instance.id) dataCommands = dict([(r.key, r.command_id) for r in commands]) devices = WidgetInstanceDevice.getInstance(instance.id) dataDevices = dict([(r.key, r.device_id) for r in devices]) else: dataOptions = None dataSensors = None dataCommands = None dataDevices = None for option in widgetoptions: OptionsForm.addField(option=option) for option in widgetsensors: SensorsForm.addField(option=option) for option in widgetcommands: CommandsForm.addField(option=option) for option in widgetdevices: DevicesForm.addField(option=option) self.optionsform = OptionsForm(instance=instance, handler=handler, data=dataOptions, prefix='optionparam_') self.sensorsform = SensorsForm(instance=instance, handler=handler, data=dataSensors, prefix='sensorparam_') self.commandsform = CommandsForm(instance=instance, handler=handler, data=dataCommands, prefix='commandparam_') self.devicesform = DevicesForm(instance=instance, handler=handler, data=dataDevices, prefix='deviceparam_') self.generalform = WidgetGeneralForm(handler=handler, data=dataOptions, prefix='generalparam_') self.styleform = WidgetStyleForm(handler=handler, data=dataOptions, prefix='styleparam_')