[Erp5-report] r45333 vincent - /erp5/trunk/products/ERP5Type/Message.py

nobody at svn.erp5.org nobody at svn.erp5.org
Tue Apr 12 17:05:10 CEST 2011


Author: vincent
Date: Tue Apr 12 17:05:09 2011
New Revision: 45333

URL: http://svn.erp5.org?rev=45333&view=rev
Log:
Translation service raises if it receives a non-ascii string.

As ERP5 decided to only contain UTF-8 strings, it is responsible for decoding
them before handing them out to translation service.

Modified:
    erp5/trunk/products/ERP5Type/Message.py

Modified: erp5/trunk/products/ERP5Type/Message.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Type/Message.py?rev=45333&r1=45332&r2=45333&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Type/Message.py [utf8] (original)
+++ erp5/trunk/products/ERP5Type/Message.py [utf8] Tue Apr 12 17:05:09 2011
@@ -146,10 +146,18 @@ class Message(Persistent):
       from Products.ERP5.ERP5Site import getSite
       request = Globals.get_request()
       translation_service = getGlobalTranslationService()
+      if self.mapping:
+        unicode_mapping = {}
+        for k, v in self.mapping.iteritems():
+          if isinstance(v, str):
+            v = v.decode('utf-8')
+          unicode_mapping[k] = v
+      else:
+        unicode_mapping = self.mapping
       translated_message = translation_service.translate(
                                              self.domain,
                                              message,
-                                             mapping=self.mapping,
+                                             mapping=unicode_mapping,
                                              context=getSite(request),
                                              default=self.default)
       if translated_message is not None:



More information about the Erp5-report mailing list