cybertools/composer/message
helmutm 39ffba3b03 work in progress: rule handling
git-svn-id: svn://svn.cy55.de/Zope3/src/cybertools/trunk@2149 fd906abe-77d9-0310-91a1-e0d9ade77398
2007-11-04 11:49:10 +00:00
..
__init__.py added new package composer.message 2007-09-10 17:31:24 +00:00
base.py work in progress: rule handling 2007-11-04 11:49:10 +00:00
configure.zcml added new package composer.message 2007-09-10 17:31:24 +00:00
instance.py work in progress: rule handling 2007-11-04 11:49:10 +00:00
interfaces.py work in progress: rule handling 2007-11-04 11:49:10 +00:00
README.txt added new package composer.message 2007-09-10 17:31:24 +00:00
tests.py added new package composer.message 2007-09-10 17:31:24 +00:00

==================
Message Management
==================

  ($Id$)

  >>> from zope import component
  >>> from cybertools.composer.message.base import MessageManager, Message

  >>> manager = MessageManager()

  >>> manager.messages.append(Message('feedback_html', manager=manager))
  >>> manager.messages.append(Message('feedback_text', manager=manager))
  >>> manager.messages.append(Message('footer', manager=manager))

  >>> messageText = '''Dear $person.firstname $person.lastname,
  ... You have been registered for the following $services.
  ... $@@list_registrations
  ... $footer
  ... '''

  >>> manager.messages['feedback_text'].text = messageText
  >>> manager.messages['footer'].text = 'Best regards, $sender'

  >>> manager.messages.append(Message('sender', manager=manager, text='Jack'))
  >>> manager.messages.append(Message('services', manager=manager, text='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': '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'])
  >>> print mi.applyTemplate()
  Dear $person.firstname $person.lastname,
  You have been registered for the following events.
  $@@list_registrations
  Best regards, Jack
  <BLANKLINE>