[Checkins]
SVN: z3c.traverser/trunk/src/z3c/traverser/stackinfo/traversing.py
fixed multi context bug
Bernd Dorn
bernd.dorn at fhv.at
Tue Oct 3 15:37:12 EDT 2006
Log message for revision 70511:
fixed multi context bug
Changed:
U z3c.traverser/trunk/src/z3c/traverser/stackinfo/traversing.py
-=-
Modified: z3c.traverser/trunk/src/z3c/traverser/stackinfo/traversing.py
===================================================================
--- z3c.traverser/trunk/src/z3c/traverser/stackinfo/traversing.py 2006-10-03 17:43:50 UTC (rev 70510)
+++ z3c.traverser/trunk/src/z3c/traverser/stackinfo/traversing.py 2006-10-03 19:37:11 UTC (rev 70511)
@@ -31,6 +31,11 @@
def applyStackConsumers(context, request):
if not request.annotations.has_key(CONSUMED_ANNOTATION_KEY):
request.annotations[CONSUMED_ANNOTATION_KEY] = []
+ request.annotations[CONSUMERS_ANNOTATION_KEY] = []
+ else:
+ for obj, consumed in request.annotations[CONSUMED_ANNOTATION_KEY]:
+ if obj == context:
+ return
orgStack = request.getTraversalStack()
cons = [cons for name, cons in getStackConsumers(
context, request)]
@@ -40,7 +45,7 @@
items = orgStack[len(newStack):]
items.reverse()
consumed.append((context, items))
- request.annotations[CONSUMERS_ANNOTATION_KEY] = cons
+ request.annotations[CONSUMERS_ANNOTATION_KEY].extend(cons)
def _encode(v, _safe='@+'):
return urllib.quote(v.encode('utf-8'), _safe)
More information about the Checkins
mailing list