Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 04 Mar 2010 09:35:34 +0100] rev 4785
add render_description method to RSSItemView to improve modularity.
The construction of the description marker of and rss entry is currently built
by the main cell_call function. This make the job hard for RSSItemView subclass
to change the default behaviour. The changeset fix this issue by extracting the
description creation into a render_description method. Such extraction are
already in place for various rss marquer.
Julien Jehannet <julien.jehannet@logilab.fr> [Fri, 26 Feb 2010 17:00:42 +0100] rev 4784
le patch documentation-admin-tips a été importé
Julien Jehannet <Julien Jehannet <julien.jehannet@logilab.fr>> [Tue, 02 Mar 2010 21:48:36 +0100] rev 4783
[F] views: fix 2 unicode errors
1. You can now use valid unicode strings in ValidationError exception.
Previously, if 'err' contains unicode, UnicodeDecodeError was raised by format_errors()
>>> templstr = '<li>%s</li>\n'
>>> e = ValidationError(None, {None: u'oué, une exception en unicode!'})
>>> templstr % e
'<li>None (None): ou\xc3\xa9, une exception en unicode!</li>\n'
>>> templstr = u'<li>%s</li>\n'
>>> templstr % e
u'<li>None (None): ou\xe9, une exception en unicode!</li>\n'
2. The message of an Exception can contains unicode. But it now properly managed by “informal” string representation.
We can easily fix the problem by using the Exception.message attribute that still contains the original message.
>>> a = AssertionError(u'séfdsdf')
>>> a.message
u's\xe9fdsdf'
>>> str(a)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in position 1: ordinal not in range(128)
>>> a = ValueError(u'fsdfsdéfsdfs')
>>> str(a)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in position 6: ordinal not in range(128)
>>> a
ValueError(u'fsdfsd\xe9fsdfs',)
>>> unicode(a)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in position 6: ordinal not in range(128)
>>> a.message
u'fsdfsd\xe9fsdfs'