From f1f0bf548efbe5478fced09b898fa40046603f3b Mon Sep 17 00:00:00 2001 From: Helmut Merz Date: Sun, 29 Jan 2012 15:24:55 +0100 Subject: [PATCH] subtype relations: check for usePredicate attribute only if relation has an IIsSubtype adapter --- concept.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/concept.py b/concept.py index d063d46..8d7d2e5 100644 --- a/concept.py +++ b/concept.py @@ -51,6 +51,7 @@ from loops.interfaces import IConcept, IConceptRelation, IConceptView from loops.interfaces import IConceptManager, IConceptManagerContained from loops.interfaces import ILoopsContained from loops.interfaces import IIndexAttributes +from loops.interfaces import IIsSubtype from loops.interfaces import IAssignmentEvent, IDeassignmentEvent from loops.security.common import canListObject from loops import util @@ -221,9 +222,10 @@ class Concept(Contained, Persistent): if subtypeRels: from loops.predicate import adaptedRelation rel = adaptedRelation(subtypeRels[0]) - predName = rel.usePredicate - if predName and predName != u'standard': - predicate = cm[predName] + if IIsSubtype.providedBy(rel): + predName = rel.usePredicate + if predName and predName != u'standard': + predicate = cm[predName] return predicate def assignChild(self, concept, predicate=None, order=0, relevance=1.0):