[z3-checkins] r13978 - z3/pipelines/trunk/src/pipelines/example
ivo at codespeak.net
ivo at codespeak.net
Sun Jun 26 18:09:49 CEST 2005
Author: ivo
Date: Sun Jun 26 18:09:48 2005
New Revision: 13978
Modified:
z3/pipelines/trunk/src/pipelines/example/configure.zcml
z3/pipelines/trunk/src/pipelines/example/pipeutility.py
Log:
zcml based subscription registration
Modified: z3/pipelines/trunk/src/pipelines/example/configure.zcml
==============================================================================
--- z3/pipelines/trunk/src/pipelines/example/configure.zcml (original)
+++ z3/pipelines/trunk/src/pipelines/example/configure.zcml Sun Jun 26 18:09:48 2005
@@ -11,12 +11,12 @@
/>
<implements
- interface="pipelines.interfaces.IPipeline"
+ interface=".pipeutility.IPipeUtility"
/>
</localUtility>
<browser:tool
- interface="..interfaces.IPipeline"
+ interface=".pipeutility.IPipeUtility"
title="Local Pipeline"
description="A local pipeline utility"
/>
@@ -44,6 +44,7 @@
/>
</pipeline:pipeline>
+<!--
<utility
provides="pipelines.interfaces.IPipeline"
component="pipelines.example.foo"
@@ -52,4 +53,9 @@
<subscriber
for="zope.app.publication.interfaces.IEndRequestEvent"
handler="pipelines.example.foo" />
+-->
+
+<subscriber
+ for="zope.app.publication.interfaces.IEndRequestEvent"
+ handler=".pipeutility.executePipeline" />
</configure>
Modified: z3/pipelines/trunk/src/pipelines/example/pipeutility.py
==============================================================================
--- z3/pipelines/trunk/src/pipelines/example/pipeutility.py (original)
+++ z3/pipelines/trunk/src/pipelines/example/pipeutility.py Sun Jun 26 18:09:48 2005
@@ -1,16 +1,26 @@
+from zope.app import zapi
+from zope.interface import Interface, implements
+from persistent import Persistent
+from zope.app.container.contained import Contained
+
from pipelines.pipeline import Pipeline
from pipelines.example.filters import domify, addlocalremark, stringify
from zope.app.publication.interfaces import IEndRequestEvent
from zope.app.component.site import LocalSiteManager
-from zope.app.zapi import getGlobalSiteManager
-from persistent import Persistent
-from zope.app.container.contained import Contained
+
+def executePipeline(event):
+
+ pipe = zapi.queryUtility(IPipeUtility, '', None, event.object)
+ if pipe is not None:
+ pipe(event)
+
+class IPipeUtility(Interface):
+ pass
class PipeUtility(Pipeline, Persistent, Contained):
+ implements(IPipeUtility)
+
def __init__(self):
self._filters = (domify(), addlocalremark(), stringify())
- #lsm = LocalSiteManager(self)
- lsm = getGlobalSiteManager()
- lsm.subscribe((IEndRequestEvent,), None, self)
More information about the z3-checkins
mailing list