def get(self, id): self.gen_template = view.WebTemplateGenerator() if id is not '': self.response.headers['Content-Type'] = 'text/html' values = model.data_from_id(id) values.update({'action': 'edit'}) self.response.write(self.gen_template.render_template_for(values)) else: self.factory = model.SampleObjectFactory() id = model.id_from(self.factory.random_socket()) self.redirect('/edit/' + str(id))
def post(self, id): self.gen_template = view.WebTemplateGenerator() data_object = model.get_instance(id) # PARSE REQUEST parsed_data = [] for arg in self.request.arguments(): a, b = arg.split('_') parsed_data.append(dict(zip(('id', 'attr', 'val'), (a, b, self.request.get(arg))))) pprint(parsed_data) for arg in parsed_data: data_object.__setattr__(arg['attr'], arg['val']) # FIXME working for text but no other attr. print(dir(data_object)) data_object.put() values = model.data_from_id(id) values.update({'action': 'edit', 'message': 'Victory!!!'}) self.response.headers['Content-Type'] = 'text/html' self.response.write(self.gen_template.render_template_for(values))