From fbf4efc40c93e8b8c9185d6afd469f17f7eb71a1 Mon Sep 17 00:00:00 2001 From: hplattner Date: Thu, 19 Nov 2015 14:18:48 +0100 Subject: [PATCH] add assign/ deassignParent wrapper for resources; add adapterIndexAttributes + keywords index adapter lookup for resources --- resource.py | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/resource.py b/resource.py index 143d334..69acd24 100644 --- a/resource.py +++ b/resource.py @@ -227,8 +227,14 @@ class Resource(Image, Contained): obj = getMaster(self) concept.deassignResource(obj, predicates) - # ISized interface + def assignParent(self, concept, predicate=None, order=0, relevance=1.0): + self.assignConcept(concept, predicate=predicate, order=order, + relevance=relevance) + def deassignParent(self, parent, predicates=None, noSecurityCheck=False): + self.deassignConcept(parent, predicates=predicates) + + # ISized interface def getSize(self): if self._size: return self._size @@ -538,6 +544,17 @@ class IndexAttributes(object): def __init__(self, context): self.context = context + @Lazy + def adapted(self): + return adapted(self.context) + + @Lazy + def adaptedIndexAttributes(self): + #if self.adapted != self.context: + if isinstance(self.adapted, ResourceAdapterBase): + #return component.queryAdapter(self.adapted, IIndexAttributes) + return IIndexAttributes(self.adapted, None) + def text(self): actx = adapted(self.context) txt = transformToText(actx) @@ -590,6 +607,11 @@ class IndexAttributes(object): def identifier(self): return getName(self.context) + def keywords(self): + if self.adaptedIndexAttributes is not None: + return self.adaptedIndexAttributes.keywords() + + def transformToText(obj, data=None, contentType=None): if data is None: data = obj.data