[Erp5-report] r14447 - /erp5/trunk/utils/oood/oood_common.py

nobody at svn.erp5.org nobody at svn.erp5.org
Thu May 10 16:22:06 CEST 2007


Author: bartek
Date: Thu May 10 16:22:05 2007
New Revision: 14447

URL: http://svn.erp5.org?rev=14447&view=rev
Log:
automatically translate encoding set by the client to OOo-recognizeable format

Modified:
    erp5/trunk/utils/oood/oood_common.py

Modified: erp5/trunk/utils/oood/oood_common.py
URL: http://svn.erp5.org/erp5/trunk/utils/oood/oood_common.py?rev=14447&r1=14446&r2=14447&view=diff
==============================================================================
--- erp5/trunk/utils/oood/oood_common.py (original)
+++ erp5/trunk/utils/oood/oood_common.py Thu May 10 16:22:05 2007
@@ -7,6 +7,7 @@
 """
 
 import base64
+import re
 import string
 import types
 
@@ -151,10 +152,19 @@
       self.__dict__[name] = self.process(name, value)
 
   def process(self, name, value):
-    if name == 'data':
+    if name == 'data': # encode data
       value = base64.encodestring(value)
-    if name == 'filename':
+    if name == 'filename': # clear file name from non-ascii chars
       value = asciify(value)
+    if name == 'encoding': # translate encoding to OOo-compatible syntax
+      matches = (
+          ('iso.?(\d{4}).?(\d)', 'ISO_%s_%s'),
+          ('utf.?(\d+)', 'UTF%s'),
+          )
+      for pattern, template in matches:
+        match = re.match(pattern, value, re.IGNORECASE)
+        if match:
+          return  template % match.groups()
     return value
 
   def __setattr__(self, name, value):




More information about the Erp5-report mailing list