logo       
Google Custom Search
    AddThis Social Bookmark Button
-->

PortalTransforms MimeTypesRegistry.py,1.4,1.5: msg#00073

Subject: PortalTransforms MimeTypesRegistry.py,1.4,1.5
Update of /cvsroot/archetypes/PortalTransforms
In directory sc8-pr-cvs1:/tmp/cvs-serv2950

Modified Files:
        MimeTypesRegistry.py 
Log Message:
make unicode error handling configurable
close #810980


Index: MimeTypesRegistry.py
===================================================================
RCS file: /cvsroot/archetypes/PortalTransforms/MimeTypesRegistry.py,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- MimeTypesRegistry.py        8 Aug 2003 10:16:29 -0000       1.4
+++ MimeTypesRegistry.py        23 Sep 2003 09:26:08 -0000      1.5
@@ -40,6 +40,7 @@
         # ext -> imimetype mapping
         self.extensions = DictClass()
         self.defaultMimetype = 'text/plain'
+        self.unicodePolicy = 'replace'
         if fill:
             # initialize mime types
             initialize(self)
@@ -210,11 +211,15 @@
         # it is
         mt = self.classify(data, mimetype=mimetype, filename=filename)
 
-        if not mt.binary and type(data) != UnicodeType:
+        if not mt.binary and not type(data) is UnicodeType:
             # if no encoding specified, try to guess it from data
             if encoding is None:
                 encoding = self.guess_encoding(data)
-            data = unicode(data, encoding)
+            try:
+                data = unicode(data, encoding, self.unicodePolicy)
+            except ValueError:
+                # wrong unicodePolicy
+                data = unicode(data, encoding)
 
         return (data, filename, mt)
 




-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf


<Prev in Thread] Current Thread [Next in Thread>