kopia lustrzana https://github.com/collective/icalendar
Let to_unicode be more graceful for non-unicode strings, as like CMFPlone's
safe_unicode does it.pull/107/merge
rodzic
9352b3c148
commit
eadddbdeec
|
@ -2,6 +2,14 @@
|
|||
Changelog
|
||||
=========
|
||||
|
||||
3.5dev (unreleased)
|
||||
-------------------
|
||||
|
||||
- Let to_unicode be more graceful for non-unicode strings, as like CMFPlone's
|
||||
safe_unicode does it.
|
||||
[thet]
|
||||
|
||||
|
||||
3.4 (2013-04-24)
|
||||
----------------
|
||||
|
||||
|
|
|
@ -7,12 +7,12 @@ def to_unicode(value, encoding='utf-8'):
|
|||
"""
|
||||
if isinstance(value, unicode):
|
||||
return value
|
||||
elif isinstance(value, str):
|
||||
elif isinstance(value, basestring):
|
||||
try:
|
||||
return value.decode(encoding)
|
||||
except UnicodeDecodeError:
|
||||
return value.decode('utf-8', 'replace')
|
||||
raise AssertionError('A str/unicode expected.')
|
||||
value = unicode(value, encoding)
|
||||
except (UnicodeDecodeError):
|
||||
value = value.decode('utf-8', 'replace')
|
||||
return value
|
||||
|
||||
|
||||
def data_encode(data, encoding=DEFAULT_ENCODING):
|
||||
|
|
|
@ -15,10 +15,8 @@ class TestParserTools(unittest.TestCase):
|
|||
self.assertEqual(to_unicode(u'\xc6\xb5'.encode('iso-8859-1')),
|
||||
u'\u01b5')
|
||||
self.assertEqual(to_unicode('\xc6\xb5', encoding='ascii'), u'\u01b5')
|
||||
with self.assertRaises(AssertionError):
|
||||
to_unicode(1)
|
||||
with self.assertRaises(AssertionError):
|
||||
to_unicode(None)
|
||||
self.assertEqual(to_unicode(1), 1)
|
||||
self.assertEqual(to_unicode(None), None)
|
||||
|
||||
def test_parser_tools_data_encode(self):
|
||||
|
||||
|
|
Ładowanie…
Reference in New Issue