From d8de666f2f25815377ea2e4b7ce7ca0b0f015f71 Mon Sep 17 00:00:00 2001 From: helmutm Date: Tue, 2 May 2006 15:17:05 +0000 Subject: [PATCH] bug fix on relation.registry: don't crash invalidateRelation when object is not registered in intIds git-svn-id: svn://svn.cy55.de/Zope3/src/cybertools/trunk@1194 fd906abe-77d9-0310-91a1-e0d9ade77398 --- relation/registry.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/relation/registry.py b/relation/registry.py index 16fc1bf..c3d439a 100644 --- a/relation/registry.py +++ b/relation/registry.py @@ -253,13 +253,15 @@ def invalidateRelations(context, event): # if not IRelatable.providedBy(event.object): # return relations = [] - #registry = zapi.queryUtility(IRelationRegistry) registries = zapi.getAllUtilitiesRegisteredFor(IRelationRegistry) for registry in registries: for attr in ('first', 'second', 'third'): - relations = registry.query(**{attr: context}) - for relation in relations: - registry.unregister(relation) + try: + relations = registry.query(**{attr: context}) + for relation in relations: + registry.unregister(relation) + except KeyError: + pass def removeRelation(context, event): """ Handles IRelationInvalidatedEvent by removing the relation