Revision: 2508
Author: pekka.klarck
Date: Tue Feb 23 01:27:52 2010
Log: New implementation for utils.unic on Python. Based on a recipe from
http://code.activestate.com/recipes/466341
http://code.google.com/p/robotframework/source/detail?r=2508
Modified:
/trunk/src/robot/utils/unic.py
=======================================
--- /trunk/src/robot/utils/unic.py Tue Feb 23 01:15:56 2010
+++ /trunk/src/robot/utils/unic.py Tue Feb 23 01:27:52 2010
@@ -22,7 +22,6 @@
from java.lang import Object
def unic(item):
- """Convert non-strings to unicode."""
if isinstance(item, basestring):
return item
if sys.version_info[:2] > (2,2) and isinstance(item, Object):
@@ -32,9 +31,9 @@
else:
def unic(item):
- """Convert non-strings to unicode."""
- if isinstance(item, unicode):
- return item
- if isinstance(item, str):
- return unicode(item, 'UTF-8', 'ignore')
- return unicode(item)
+ # Based on a recipe from http://code.activestate.com/recipes/466341
+ try:
+ return unicode(item)
+ except UnicodeDecodeError:
+ ascii_text = str(item).encode('string_escape')
+ return unicode(ascii_text)