def post(self): action = self.get_argument('action', None) id = self.get_argument('id', None) if action=='widget': instance = WidgetInstance.get(id); forms = WidgetInstanceForms(instance=instance, handler=self) if forms.validate(): forms.save(); d = WidgetInstanceOption.getInstanceDict(instance_id=id) jsonoptions = {'instance_id':id, 'options':d} d = WidgetInstanceSensor.getInstanceDict(instance_id=id) jsonsensors = {'instance_id':id, 'sensors':d} d = WidgetInstanceCommand.getInstanceDict(instance_id=id) jsoncommands = {'instance_id':id, 'commands':d} for socket in socket_connections: socket.sendMessage(['widgetinstance-options', jsonoptions]); socket.sendMessage(['widgetinstance-sensors', jsonsensors]); socket.sendMessage(['widgetinstance-commands', jsoncommands]); self.write("{success:true}") else: self.render('widgetConfiguration.html', instance=instance, forms=forms) elif action=='section': Section.update(id, self.get_argument('sectionName'), self.get_argument('sectionDescription', None)) for p, v in self.request.arguments.iteritems(): if p.startswith( 'params' ): SectionParam.saveKey(section_id=id, key=p[6:], value=v[0]) json = to_json(Section.get(id)) json['params'] = dict ((p.key, p.value) for p in SectionParam.getSection(id)) for socket in socket_connections: socket.sendMessage(['section-details', json]) self.write("{success:true}")
def WSWidgetInstanceGetoptions(self, data): d = WidgetInstanceOption.getInstanceDict(instance_id=data['instance_id']) json = {'instance_id':data['instance_id'], 'options':d} return ['widgetinstance-options', json];