[Checkins] SVN: z3ext.statusmessage/trunk/ Fixed UnicodeEncodeError
Nikolay Kim
fafhrd at datacom.kz
Fri Nov 21 03:48:18 EST 2008
Log message for revision 93224:
Fixed UnicodeEncodeError
Changed:
U z3ext.statusmessage/trunk/CHANGES.txt
U z3ext.statusmessage/trunk/src/z3ext/statusmessage/README.txt
U z3ext.statusmessage/trunk/src/z3ext/statusmessage/handler.py
A z3ext.statusmessage/trunk/src/z3ext/statusmessage/message.pt
U z3ext.statusmessage/trunk/src/z3ext/statusmessage/message.py
U z3ext.statusmessage/trunk/src/z3ext/statusmessage/tests/tests.py
-=-
Modified: z3ext.statusmessage/trunk/CHANGES.txt
===================================================================
--- z3ext.statusmessage/trunk/CHANGES.txt 2008-11-21 07:52:53 UTC (rev 93223)
+++ z3ext.statusmessage/trunk/CHANGES.txt 2008-11-21 08:48:17 UTC (rev 93224)
@@ -2,6 +2,12 @@
CHANGES
=======
+1.3.1 (2008-11-20)
+------------------
+
+- Fixed UnicodeEncodeError
+
+
1.3.0 (2008-11-20)
------------------
Modified: z3ext.statusmessage/trunk/src/z3ext/statusmessage/README.txt
===================================================================
--- z3ext.statusmessage/trunk/src/z3ext/statusmessage/README.txt 2008-11-21 07:52:53 UTC (rev 93223)
+++ z3ext.statusmessage/trunk/src/z3ext/statusmessage/README.txt 2008-11-21 08:48:17 UTC (rev 93224)
@@ -43,7 +43,7 @@
>>> msg = component.getAdapter(request, interfaces.IMessage, 'info')
>>> msg.render('Test message')
- '<div class="statusMessage">Test message</div>'
+ u'<div class="statusMessage">Test message</div>'
Now we can add messages.
@@ -53,7 +53,7 @@
True
>>> service.messages()
- ['<div class="statusMessage">Test message</div>']
+ [u'<div class="statusMessage">Test message</div>']
Let's register another message type.
@@ -63,7 +63,7 @@
>>> service.add('Warning message', 'warning')
>>> service.messages()
- ['<div class="statusMessage">Test message</div>', '<div class="statusWarningMessage">Warning message</div>']
+ [u'<div class="statusMessage">Test message</div>', u'<div class="statusWarningMessage">Warning message</div>']
Error message, we can add exception object
Modified: z3ext.statusmessage/trunk/src/z3ext/statusmessage/handler.py
===================================================================
--- z3ext.statusmessage/trunk/src/z3ext/statusmessage/handler.py 2008-11-21 07:52:53 UTC (rev 93223)
+++ z3ext.statusmessage/trunk/src/z3ext/statusmessage/handler.py 2008-11-21 08:48:17 UTC (rev 93224)
@@ -36,9 +36,11 @@
messages = service.clear()
if messages:
+ msg = u'\n'.join(messages)
+ msg = msg.encode('utf-8', 'ignore')
+
body = response.consumeBody()
- body = body.replace(
- '<!--z3ext-statusmessage-->', str(u'\n'.join(messages)), 1)
+ body = body.replace('<!--z3ext-statusmessage-->', msg, 1)
response.setResult(body)
afterCall(self, request, ob)
Added: z3ext.statusmessage/trunk/src/z3ext/statusmessage/message.pt
===================================================================
--- z3ext.statusmessage/trunk/src/z3ext/statusmessage/message.pt (rev 0)
+++ z3ext.statusmessage/trunk/src/z3ext/statusmessage/message.pt 2008-11-21 08:48:17 UTC (rev 93224)
@@ -0,0 +1 @@
+<div tal:attributes="class view/cssClass" tal:content="options/message"></div>
\ No newline at end of file
Modified: z3ext.statusmessage/trunk/src/z3ext/statusmessage/message.py
===================================================================
--- z3ext.statusmessage/trunk/src/z3ext/statusmessage/message.py 2008-11-21 07:52:53 UTC (rev 93223)
+++ z3ext.statusmessage/trunk/src/z3ext/statusmessage/message.py 2008-11-21 08:48:17 UTC (rev 93224)
@@ -17,6 +17,7 @@
"""
import cgi
from zope import interface, component
+from zope.app.pagetemplate import ViewPageTemplateFile
from zope.contentprovider.interfaces import IContentProvider
from zope.publisher.interfaces.browser import IBrowserRequest
@@ -33,25 +34,33 @@
class InformationMessage(Message):
+ cssClass = 'statusMessage'
+ index = ViewPageTemplateFile('message.pt')
+
+ @property
+ def context(self):
+ return self
+
def render(self, message):
- return '<div class="statusMessage">%s</div>'%message
+ return self.index(message=message)
-class WarningMessage(Message):
+class WarningMessage(InformationMessage):
- def render(self, message):
- return '<div class="statusWarningMessage">%s</div>'%message
+ cssClass = 'statusWarningMessage'
-class ErrorMessage(Message):
+class ErrorMessage(InformationMessage):
+ cssClass = 'statusStopMessage'
+
def render(self, e):
if isinstance(e, Exception):
message = '%s: %s'%(e.__class__.__name__, cgi.escape(str(e), True))
else:
message = e
- return '<div class="statusStopMessage">%s</div>'%message
+ return super(ErrorMessage, self).render(message)
class StatusMessage(object):
Modified: z3ext.statusmessage/trunk/src/z3ext/statusmessage/tests/tests.py
===================================================================
--- z3ext.statusmessage/trunk/src/z3ext/statusmessage/tests/tests.py 2008-11-21 07:52:53 UTC (rev 93223)
+++ z3ext.statusmessage/trunk/src/z3ext/statusmessage/tests/tests.py 2008-11-21 08:48:17 UTC (rev 93224)
@@ -24,6 +24,7 @@
from zope.publisher.interfaces.browser import IBrowserRequest
from zope.app.testing.functional import ZCMLLayer
from zope.app.testing.functional import FunctionalDocFileSuite
+from zope.traversing.testing import setUp as setUpTraversing
from z3ext.statusmessage import message
@@ -50,6 +51,7 @@
def setUp(test):
setup.placelessSetUp()
+ setUpTraversing()
component.provideAdapter(getSession)
component.provideAdapter(message.StatusMessage, name='statusMessage')
More information about the Checkins
mailing list