[Checkins]
SVN: z3c.davapp.zopelocking/trunk/src/z3c/davapp/zopelocking/
Forgot to register the event handler that removes any
indirect lock tokens
Michael Kerrin
michael.kerrin at openapp.ie
Sun Jun 10 14:56:35 EDT 2007
Log message for revision 76594:
Forgot to register the event handler that removes any indirect lock tokens
when the roottoken as ended.
Changed:
U z3c.davapp.zopelocking/trunk/src/z3c/davapp/zopelocking/configure.zcml
U z3c.davapp.zopelocking/trunk/src/z3c/davapp/zopelocking/indirecttokens.py
-=-
Modified: z3c.davapp.zopelocking/trunk/src/z3c/davapp/zopelocking/configure.zcml
===================================================================
--- z3c.davapp.zopelocking/trunk/src/z3c/davapp/zopelocking/configure.zcml 2007-06-10 18:54:30 UTC (rev 76593)
+++ z3c.davapp.zopelocking/trunk/src/z3c/davapp/zopelocking/configure.zcml 2007-06-10 18:56:35 UTC (rev 76594)
@@ -39,4 +39,10 @@
set_attributes="expiration duration remaining_duration" />
</class>
+ <subscriber
+ for="zope.locking.interfaces.IEndableToken
+ zope.locking.interfaces.ITokenEndedEvent"
+ handler=".indirecttokens.removeEndedTokens"
+ />
+
</configure>
Modified: z3c.davapp.zopelocking/trunk/src/z3c/davapp/zopelocking/indirecttokens.py
===================================================================
--- z3c.davapp.zopelocking/trunk/src/z3c/davapp/zopelocking/indirecttokens.py 2007-06-10 18:54:30 UTC (rev 76593)
+++ z3c.davapp.zopelocking/trunk/src/z3c/davapp/zopelocking/indirecttokens.py 2007-06-10 18:56:35 UTC (rev 76594)
@@ -17,6 +17,7 @@
"""
import persistent
+import zope.component
import zope.interface
import zope.locking.interfaces
import zope.locking.tokens
@@ -34,7 +35,6 @@
Some initial setup including creating some demo content.
- >>> import zope.component
>>> from zope.locking import utility, utils
>>> util = utility.TokenUtility()
>>> zope.component.getGlobalSiteManager().registerUtility(
@@ -142,7 +142,9 @@
True
>>> len(lockroot.annotations[INDIRECT_INDEX_KEY])
3
- >>> removeEndedTokens(ev)
+ >>> ev.object is lockroot
+ True
+ >>> removeEndedTokens(lockroot, ev)
>>> len(lockroot.annotations[INDIRECT_INDEX_KEY])
0
@@ -428,7 +430,9 @@
return self.roottoken.end()
-def removeEndedTokens(event):
+ at zope.component.adapter(zope.locking.interfaces.IEndableToken,
+ zope.locking.interfaces.ITokenEndedEvent)
+def removeEndedTokens(object, event):
"""subscriber handler for ITokenEndedEvent"""
assert zope.locking.interfaces.ITokenEndedEvent.providedBy(event)
roottoken = event.object
More information about the Checkins
mailing list