================== 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 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 subjectLine: