[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