==================
Message Management
==================
($Id$)
>>> from zope import component
>>> from cybertools.composer.message.base import MessageManager, Message
>>> manager = MessageManager()
>>> messageText = '''Dear $person.firstname $person.lastname,
... You have been registered for the following $services.
... $@@list_registrations_text
... $footer
... '''
>>> manager.addMessage('feedback_text', messageText)
>>> manager.addMessage('footer', 'Best regards, $sender')
>>> manager.addMessage('sender', 'Jack')
>>> manager.addMessage('services', 'events')
Message interpolation
---------------------
>>> from cybertools.composer.message.instance import MessageTemplate
>>> t = MessageTemplate(messageText)
>>> print t.safe_substitute({
... 'person.firstname': 'John', 'person.lastname': 'Smith',
... '@@list_registrations_text': '0815: Python Introduction',
... 'services': 'events',
... 'footer': 'Regards, $sender'})
Dear John Smith,
You have been registered for the following events.
0815: Python Introduction
Regards, $sender
<BLANKLINE>
Working with message instances
------------------------------
>>> from cybertools.composer.message.instance import MessageInstance
>>> mi = MessageInstance(None, manager.messages['feedback_text'], manager)
>>> for key, value in mi.applyTemplate().items():
... print key + ':', value
url:
text: Dear $person.firstname $person.lastname,
You have been registered for the following events.
$@@list_registrations_text
Best regards, Jack
<BLANKLINE>
subjectLine: