← Back to team overview

openerp-community-reviewer team mailing list archive

[Merge] lp:~savoirfairelinux-openerp/ocb-server/translate_warnings_1297525-trunk into lp:ocb-server

 

You have been requested to review the proposed merge of lp:~savoirfairelinux-openerp/ocb-server/translate_warnings_1297525-trunk into lp:ocb-server.

For more details, see:
https://code.launchpad.net/~savoirfairelinux-openerp/ocb-server/translate_warnings_1297525-trunk/+merge/212736

When searching a frame for context, the _() looks for self.localcontext but misses self.context.
The integration of this patch allows for web warnings (such as except_orm) to be translated by _()

-- 
https://code.launchpad.net/~savoirfairelinux-openerp/ocb-server/translate_warnings_1297525-trunk/+merge/212736
Your team OpenERP Community Reviewer/Maintainer is requested to review the proposed merge of lp:~savoirfairelinux-openerp/ocb-server/translate_warnings_1297525-trunk into lp:ocb-server.
=== modified file 'openerp/osv/orm.py'
--- openerp/osv/orm.py	2014-03-05 15:18:15 +0000
+++ openerp/osv/orm.py	2014-04-06 00:20:15 +0000
@@ -1554,7 +1554,7 @@
                 )
                 self._invalids.update(fields)
         if error_msgs:
-            raise except_orm('ValidateError', '\n'.join(error_msgs))
+            raise except_orm(_('ValidateError'), '\n'.join(error_msgs))
         else:
             self._invalids.clear()
 

=== modified file 'openerp/service/wsgi_server.py'
--- openerp/service/wsgi_server.py	2013-11-25 10:38:42 +0000
+++ openerp/service/wsgi_server.py	2014-04-06 00:20:15 +0000
@@ -44,6 +44,7 @@
 import openerp
 import openerp.modules
 import openerp.tools.config as config
+from openerp.tools.translate import _
 import websrv_lib
 
 _logger = logging.getLogger(__name__)
@@ -138,17 +139,18 @@
     return response
 
 def xmlrpc_handle_exception_legacy(e):
+    code_string = u"%s -- %s\n\n%s"
     if isinstance(e, openerp.osv.osv.except_osv):
-        fault = xmlrpclib.Fault('warning -- ' + e.name + '\n\n' + e.value, '')
+        fault = xmlrpclib.Fault(code_string % (_("warning"), e.name, e.value), '')
         response = xmlrpclib.dumps(fault, allow_none=False, encoding=None)
     elif isinstance(e, openerp.exceptions.Warning):
-        fault = xmlrpclib.Fault('warning -- Warning\n\n' + str(e), '')
+        fault = xmlrpclib.Fault(code_string % (_("warning"), _("Warning"), e), '')
         response = xmlrpclib.dumps(fault, allow_none=False, encoding=None)
     elif isinstance(e, openerp.exceptions.AccessError):
-        fault = xmlrpclib.Fault('warning -- AccessError\n\n' + str(e), '')
+        fault = xmlrpclib.Fault(code_string % (_("warning"), _("AccessError"), e), '')
         response = xmlrpclib.dumps(fault, allow_none=False, encoding=None)
     elif isinstance(e, openerp.exceptions.AccessDenied):
-        fault = xmlrpclib.Fault('AccessDenied', str(e))
+        fault = xmlrpclib.Fault(_('AccessDenied'), str(e))
         response = xmlrpclib.dumps(fault, allow_none=False, encoding=None)
     elif isinstance(e, openerp.exceptions.DeferredException):
         info = e.traceback

=== modified file 'openerp/tools/translate.py'
--- openerp/tools/translate.py	2014-03-17 08:06:23 +0000
+++ openerp/tools/translate.py	2014-04-06 00:20:15 +0000
@@ -196,7 +196,7 @@
             lang = ctx.get('lang')
         s = frame.f_locals.get('self', {})
         if not lang:
-            c = getattr(s, 'localcontext', None)
+            c = getattr(s, 'localcontext', None) or getattr(s, 'context', None)
             if c:
                 lang = c.get('lang')
         if not lang:
@@ -856,7 +856,7 @@
         path_list = [root_path,] + apaths
 
     # Also scan these non-addon paths
-    for bin_path in ['osv', 'report' ]:
+    for bin_path in ['osv', 'report', 'tools', 'service' ]:
         path_list.append(os.path.join(config.config['root_path'], bin_path))
 
     _logger.debug("Scanning modules at paths: ", path_list)


References