cybertools/composer/rule
helmutm c701a05d9e initial set up for new composer.rule package
git-svn-id: svn://svn.cy55.de/Zope3/src/cybertools/trunk@2118 fd906abe-77d9-0310-91a1-e0d9ade77398
2007-10-17 18:18:06 +00:00
..
__init__.py initial set up for new composer.rule package 2007-10-17 18:18:06 +00:00
base.py initial set up for new composer.rule package 2007-10-17 18:18:06 +00:00
configure.zcml initial set up for new composer.rule package 2007-10-17 18:18:06 +00:00
instance.py initial set up for new composer.rule package 2007-10-17 18:18:06 +00:00
interfaces.py initial set up for new composer.rule package 2007-10-17 18:18:06 +00:00
mail.py initial set up for new composer.rule package 2007-10-17 18:18:06 +00:00
README.txt initial set up for new composer.rule package 2007-10-17 18:18:06 +00:00
tests.py initial set up for new composer.rule package 2007-10-17 18:18:06 +00:00

===============================
Rule-based Execution of Actions
===============================

  ($Id$)

  >>> from zope import component
  >>> from cybertools.composer.rule.base import RuleManager, Rule, Action
  >>> from cybertools.composer.rule.base import EventType, Event

  >>> manager = RuleManager()

  >>> loginEvent = EventType('login')
  >>> checkoutEvent = EventType('service.checkout')

  >>> checkoutRule = Rule('regcheckoutmail', manager=manager)
  >>> checkoutRule.events.append(checkoutEvent)
  >>> checkoutRule.actions.append(Action('message',
  ...                   parameters = dict(messageName='confirmation_mail')))
  >>> checkoutRule.actions.append(Action('sendmail'))
  >>> manager.rules.append(checkoutRule)

  >>> manager.handleEvent(Event(loginEvent))

  >>> client = object()

  >>> manager.handleEvent(Event(checkoutEvent, client))