def put(self): uid = self.request.matchdict['uid'] server = DBSession.query(Server).filter_by(uid=uid).one() data = self.request.json with transaction.manager: for k, v in data.items(): setattr(server, k, v) DBSession.merge(server) return { 'uid': server.uid, 'address': server.address, 'port': server.port, 'useSSL': server.useSSL }
def put(self): uid = self.request.matchdict['uid'] server = DBSession.query(Server).filter_by(uid=uid).one() data = self.request.json with transaction.manager: for k,v in data.items(): setattr(server, k, v) DBSession.merge(server) return { 'uid': server.uid, 'address': server.address, 'port': server.port, 'useSSL': server.useSSL }
def generic_edit_view(request, form, record=None, redirect='../'): '''a generic edit view, it must receive a request and a form. if record is None, will edit the request.context variable. default value for undefined is ../''' record = record or request.context if request.POST: form_items = request.POST.items() try: appstruct = form.validate(form_items) except deform.ValidationFailure, e: return {'form' : e.render(), 'requirements' : form.get_widget_resources()} record = merge_appstruct(record, appstruct) DBSession.merge(record) return HTTPFound(location=redirect)
def save_word_data(self, most_common): """ Saves the 100 most common word data into the database. """ objs = [] for word, num in most_common: w_obj = DBSession.query(WordUsage).filter(WordUsage.word == word) if w_obj.count() > 0: w_obj = w_obj.first() w_obj.count += num DBSession.merge(w_obj) else: w_obj = WordUsage(word=word, count=num) objs.append(w_obj) if len(objs) > 0: DBSession.bulk_save_objects(objs) DBSession.flush() DBSession.commit() raise gen.Return(False)