[IMP] use registry contextmanager
authorAntony Lesuisse <al@openerp.com>
Mon, 13 Aug 2012 15:20:45 +0000 (17:20 +0200)
committerAntony Lesuisse <al@openerp.com>
Mon, 13 Aug 2012 15:20:45 +0000 (17:20 +0200)
bzr revid: al@openerp.com-20120813152045-woeg16q10xkhiqgk

addons/web/controllers/main.py

index 01eb397..ec356d8 100644 (file)
@@ -164,8 +164,7 @@ def module_installed_bypass_session(dbname):
     try:
         import openerp.modules.registry
         registry = openerp.modules.registry.RegistryManager.get(dbname)
-        cr = registry.db.cursor()
-        try:
+        with registry.cursor() as cr:
             m = registry.get('ir.module.module')
             # TODO The following code should move to ir.module.module.list_installed_modules()
             domain = [('state','=','installed'), ('name','in', loadable)]
@@ -177,8 +176,6 @@ def module_installed_bypass_session(dbname):
                     deps_read = registry.get('ir.module.module.dependency').read(cr, 1, deps, ['name'])
                     dependencies = [i['name'] for i in deps_read]
                     modules[module['name']] = dependencies
-        finally:
-            cr.close()
     except Exception,e:
         pass
     sorted_modules = module_topological_sort(modules)