[FIX] cli/server: fixes #1307, add missing Environment management blocks
authorRaphael Collet <rco@openerp.com>
Wed, 30 Jul 2014 13:31:00 +0000 (15:31 +0200)
committerRaphael Collet <rco@openerp.com>
Wed, 30 Jul 2014 13:32:12 +0000 (15:32 +0200)
openerp/cli/server.py

index 7060263..db0ab06 100644 (file)
@@ -112,13 +112,13 @@ def export_translation():
         config["translate_out"])
 
     fileformat = os.path.splitext(config["translate_out"])[-1][1:].lower()
-    buf = file(config["translate_out"], "w")
-    registry = openerp.modules.registry.RegistryManager.new(dbname)
-    cr = registry.cursor()
-    openerp.tools.trans_export(config["language"],
-        config["translate_modules"] or ["all"], buf, fileformat, cr)
-    cr.close()
-    buf.close()
+
+    with open(config["translate_out"], "w") as buf:
+        registry = openerp.modules.registry.RegistryManager.new(dbname)
+        with openerp.api.Environment.manage():
+            with registry.cursor() as cr:
+                openerp.tools.trans_export(config["language"],
+                    config["translate_modules"] or ["all"], buf, fileformat, cr)
 
     _logger.info('translation file written successfully')
 
@@ -128,11 +128,11 @@ def import_translation():
     dbname = config['db_name']
 
     registry = openerp.modules.registry.RegistryManager.new(dbname)
-    cr = registry.cursor()
-    openerp.tools.trans_load( cr, config["translate_in"], config["language"],
-        context=context)
-    cr.commit()
-    cr.close()
+    with openerp.api.Environment.manage():
+        with registry.cursor() as cr:
+            openerp.tools.trans_load(
+                cr, config["translate_in"], config["language"], context=context,
+            )
 
 def main(args):
     check_root_user()