def post(self, widget_id): """Handles POST requests, for parameterized widgets.""" payload = json.loads(self.request.get('payload')) params = payload.get('params', {}) if isinstance(params, list): new_params = {} for item in params: new_params[item['name']] = item['default_value'] params = new_params state_params_dict = {} state_params_given = payload.get('state_params') if state_params_given: for param in state_params_given: # Pick a random parameter for each key. state_params_dict[param['name']] = ( utils.get_random_choice(param['values'])) response = InteractiveWidget.get_with_params( widget_id, params=utils.parse_dict_with_params( params, state_params_dict) ) self.render_json({'widget': response})
def get(self, widget_id): """Handles GET requests.""" try: self.render_json({ 'widget': InteractiveWidget.get_with_params(widget_id, {}), }) except: raise self.PageNotFoundException
def get(self, widget_id): """Handles GET requests.""" response = InteractiveWidget.get_with_params(widget_id) self.response.write(json.dumps({'widget': response}))