=============================== 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))