z3ext.statusmessage 1.3.1
Status messages
Latest Version: 1.3.8
Portal status message
Instead include notification messages directly to template, developer can use messaging service.
Main interface is IStatusMessage, it is adapter for IBrowserRequest so we can have different implementations, for example cookie based or session.
By default only session based service implemented.
>>> from zope import interface, component >>> from zope.interface.verify import verifyClass>>> from z3ext.statusmessage import interfaces, session, message>>> verifyClass(interfaces.IStatusMessage, session.MessageService) True>>> component.provideAdapter(session.MessageService)>>> from zope.publisher.browser import TestRequest >>> request = TestRequest()>>> service = interfaces.IStatusMessage(request)>>> bool(service) False>>> service.add('Test message') Traceback (most recent call last): ... ComponentLookupError: ...>>> service.clear() ()
Before we can use message service we need register message type.
>>> component.provideAdapter(message.InformationMessage, name='info')>>> msg = component.getAdapter(request, interfaces.IMessage, 'info') >>> msg.render('Test message') u'<div class="statusMessage">Test message</div>'
Now we can add messages.
>>> service.add('Test message')>>> bool(service) True>>> service.messages() [u'<div class="statusMessage">Test message</div>']
Let's register another message type.
>>> component.provideAdapter(message.WarningMessage, name='warning')>>> service.add('Warning message', 'warning')>>> service.messages() [u'<div class="statusMessage">Test message</div>', u'<div class="statusWarningMessage">Warning message</div>']
Error message, we can add exception object
>>> component.provideAdapter(message.ErrorMessage, name='error')>>> service.add(Exception('Error message'), 'error')
or text message
>>> service.add('Error message', 'error')>>> for msg in service.messages(): ... print msg <div class="statusMessage">Test message</div> <div class="statusWarningMessage">Warning message</div> <div class="statusStopMessage">Exception: Error message</div> <div class="statusStopMessage">Error message</div>
Clearing service
clear() method return all messages and clear service.
>>> for msg in service.clear(): ... print msg <div class="statusMessage">Test message</div> <div class="statusWarningMessage">Warning message</div> <div class="statusStopMessage">Exception: Error message</div> <div class="statusStopMessage">Error message</div>>>> bool(service) False
CHANGES
1.3.1 (2008-11-21)
- Fixed UnicodeEncodeError
1.3.0 (2008-11-20)
- API refactored
- Allow add messages at any stage of page processing
1.2.1 (2008-05-14)
- Replace 'autoinclude' with 'includeDependendcies'
1.2.0 (2008-03-21)
- rename to z3ext.statusmessage
- moved to svn.zope.org
1.1.0 (2008-03-18)
- Use z3c.autoinclude
- Code cleanup
1.0.0 (2007-12-08)
- Initial release.
| File | Type | Py Version | Uploaded on | Size | # downloads |
|---|---|---|---|---|---|
| z3ext.statusmessage-1.3.1.tar.gz (md5) | Source | 2008-11-21 08:52:40 | 8KB | 48 | |
- Author: Nikolay Kim <fafhrd91 at gmail com>
- Home Page: http://z3ext.net/
- License: ZPL 2.1
- Categories
- Package Index Owner: fafhrd
- DOAP record: z3ext.statusmessage-1.3.1.xml
