From 6af4fbbbed7122479be3045eb3d28d580277818d Mon Sep 17 00:00:00 2001 From: Christophe Simonis Date: Mon, 15 Dec 2008 14:34:16 +0100 Subject: [PATCH] [FIX] close the db cursor bzr revid: christophe@cobalt-20081215133416-2biod95w2y4qs1hl --- addons/document/ftpserver/abstracted_fs.py | 26 +++++++++++++--------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/addons/document/ftpserver/abstracted_fs.py b/addons/document/ftpserver/abstracted_fs.py index c0f0bdf3407..c83fbb61d05 100644 --- a/addons/document/ftpserver/abstracted_fs.py +++ b/addons/document/ftpserver/abstracted_fs.py @@ -26,14 +26,16 @@ class file_wrapper(StringIO.StringIO): def close(self, *args, **kwargs): db,pool = pooler.get_db_and_pool(self.dbname) cr = db.cursor() - uid =self.uid - val = self.getvalue() - val2 = { - 'datas': base64.encodestring(val), - 'file_size': len(val), - } - pool.get('ir.attachment').write(cr, uid, [self.ressource_id], val2) - cr.commit() + try: + val = self.getvalue() + val2 = { + 'datas': base64.encodestring(val), + 'file_size': len(val), + } + pool.get('ir.attachment').write(cr, self.uid, [self.ressource_id], val2) + finally: + cr.commit() + cr.close() StringIO.StringIO.close(self, *args, **kwargs) class content_wrapper(StringIO.StringIO): @@ -47,10 +49,12 @@ class content_wrapper(StringIO.StringIO): def close(self, *args, **kwargs): db,pool = pooler.get_db_and_pool(self.dbname) cr = db.cursor() - getattr(self.pool.get('document.directory.content'), 'process_write_'+self.node.content.extension[1:])(cr, self.uid, self.node, self.getvalue()) + try: + getattr(self.pool.get('document.directory.content'), 'process_write_'+self.node.content.extension[1:])(cr, self.uid, self.node, self.getvalue()) + finally: + cr.commit() + cr.close() StringIO.StringIO.close(self, *args, **kwargs) - cr.commit() - cr.close() class abstracted_fs: