Ticket #1359: trans_in_request.diff
| File trans_in_request.diff, 1.0 kB (added by Janzert, 1 year ago) |
|---|
-
turbogears/database.py
old new 336 336 [run_with_transaction.when("_use_sa()")] 337 337 def sa_rwt(func, *args, **kw): 338 338 log.debug("New SA transaction") 339 transaction = session.create_transaction() 339 req = cherrypy.request 340 req.sa_transaction = session.create_transaction() 340 341 try: 341 342 retval = func(*args, **kw) 342 transaction.commit()343 req.sa_transaction.commit() 343 344 except (cherrypy.HTTPRedirect,cherrypy.InternalRedirect): 344 345 try: 345 transaction.commit()346 req.sa_transaction.commit() 346 347 except Exception,e: 347 348 retval = dispatch_exception(e,args,kw) 348 349 else: 349 350 raise 350 351 except Exception, e: 351 transaction.rollback()352 req.sa_transaction.rollback() 352 353 retval = dispatch_exception(e,args,kw) 353 354 return retval 354 355