Author: bbangert
Date: 2006-05-29 20:21:35 -0600 (Mon, 29 May 2006)
New Revision: 1795

Modified:
   FormEncode/trunk/formencode/validators.py
Log:
Adding Unicode updates from TurboGears UnicodeString class.

Modified: FormEncode/trunk/formencode/validators.py
===================================================================
--- FormEncode/trunk/formencode/validators.py   2006-05-26 16:02:37 UTC (rev 
1794)
+++ FormEncode/trunk/formencode/validators.py   2006-05-30 02:21:35 UTC (rev 
1795)
@@ -1013,15 +1013,21 @@
     
     def _from_python(self, value, state):
         if value:
-            # If it is already an unicode string...
             if isinstance(value, unicode):
-                # ... we return it as-is.
                 return value
-            # Otherwise we convert it.
+            if hasattr(value, '__unicode__'):
+                return unicode(value)
             return unicode(value, self.encoding)
         if value == 0:
             return unicode(value, self.encoding)
         return unicode("", self.encoding)
+    
+    def _from_python(self, value, state):
+        if hasattr(value, '__unicode__'):
+            value = unicode(value)
+        if isinstance(value, unicode):
+            return value.encode(self.encoding)
+        return str(value)
 
     def empty_value(self, value):
         return unicode("", self.encoding)



-------------------------------------------------------
All the advantages of Linux Managed Hosting--Without the Cost and Risk!
Fully trained technicians. The highest number of Red Hat certifications in
the hosting industry. Fanatical Support. Click to learn more
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=107521&bid=248729&dat=121642
_______________________________________________
FormEncode-CVS mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/formencode-cvs

Reply via email to