From cde05592cefe405b845eb377b99e094e2281f1b8 Mon Sep 17 00:00:00 2001 From: Raphael Collet Date: Wed, 9 Apr 2014 15:44:40 +0200 Subject: [PATCH] [IMP] edi: use context manager for new cursor bzr revid: rco@openerp.com-20140409134440-ylhri8kl6mwv4g2k --- addons/edi/edi_service.py | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/addons/edi/edi_service.py b/addons/edi/edi_service.py index f85d0be7767..0d3edd451d1 100644 --- a/addons/edi/edi_service.py +++ b/addons/edi/edi_service.py @@ -34,18 +34,14 @@ def _edi_dispatch(db_name, method_name, *method_args): try: registry = openerp.modules.registry.RegistryManager.get(db_name) assert registry, 'Unknown database %s' % db_name - edi = registry['edi.edi'] - cr = registry.cursor() - res = None - res = getattr(edi, method_name)(cr, *method_args) - cr.commit() + with registry.cursor() as cr: + edi = registry['edi.edi'] + return getattr(edi, method_name)(cr, *method_args) + except Exception, e: _logger.exception('Failed to execute EDI method %s with args %r.', method_name, method_args) raise - finally: - cr.close() - return res def exp_import_edi_document(db_name, uid, passwd, edi_document, context=None): return _edi_dispatch(db_name, 'import_edi', uid, edi_document, None)