make sure order and relevance are stored on import of child and resourceRelation statements

git-svn-id: svn://svn.cy55.de/Zope3/src/loops/trunk@3464 fd906abe-77d9-0310-91a1-e0d9ade77398
This commit is contained in:
helmutm 2009-07-20 13:32:20 +00:00
parent 52b68bcfb6
commit c54b0e283c
3 changed files with 12 additions and 8 deletions

4
external/base.py vendored
View file

@ -142,7 +142,7 @@ class Extractor(Base):
for r in c.getChildRelations(): for r in c.getChildRelations():
if r.predicate != typePredicate: if r.predicate != typePredicate:
args = [getName(r.first), getName(r.second), getName(r.predicate)] args = [getName(r.first), getName(r.second), getName(r.predicate)]
if r.order != 0: if r.order != 0 or r.relevance != 1.0:
args.append(r.order) args.append(r.order)
if r.relevance != 1.0: if r.relevance != 1.0:
args.append(r.relevance) args.append(r.relevance)
@ -155,7 +155,7 @@ class Extractor(Base):
for r in c.getResourceRelations(): for r in c.getResourceRelations():
if r.predicate != typePredicate: if r.predicate != typePredicate:
args = [getName(r.first), getName(r.second), getName(r.predicate)] args = [getName(r.first), getName(r.second), getName(r.predicate)]
if r.order != 0: if r.order != 0 or r.relevance != 1.0:
args.append(r.order) args.append(r.order)
if r.relevance != 1.0: if r.relevance != 1.0:
args.append(r.relevance) args.append(r.relevance)

8
external/element.py vendored
View file

@ -136,7 +136,9 @@ class ChildElement(Element):
self[self.posArgs[idx]] = arg self[self.posArgs[idx]] = arg
def execute(self, loader): def execute(self, loader):
loader.assignChild(self['first'], self['second'], self['predicate']) loader.assignChild(self['first'], self['second'], self['predicate'],
order = self.get('order') or 0,
relevance = self.get('relevance') or 1.0)
class ResourceElement(Element): class ResourceElement(Element):
@ -181,7 +183,9 @@ class ResourceRelationElement(ChildElement):
elementType = 'resourceRelation' elementType = 'resourceRelation'
def execute(self, loader): def execute(self, loader):
loader.assignResource(self['first'], self['second'], self['predicate']) loader.assignResource(self['first'], self['second'], self['predicate'],
order = self.get('order') or 0,
relevance = self.get('relevance') or 1.0)
class NodeElement(Element): class NodeElement(Element):

View file

@ -152,7 +152,7 @@ class SetupManager(object):
self.log("Setting Attribute '%s' of '%s' to '%s'" % self.log("Setting Attribute '%s' of '%s' to '%s'" %
(attr, getName(concept), repr(value))) (attr, getName(concept), repr(value)))
def assignChild(self, conceptName, childName, predicate=None): def assignChild(self, conceptName, childName, predicate=None, **kw):
if predicate is None: if predicate is None:
predicate = self.concepts.getDefaultPredicate() predicate = self.concepts.getDefaultPredicate()
if isinstance(predicate, basestring): if isinstance(predicate, basestring):
@ -163,7 +163,7 @@ class SetupManager(object):
self.log("Concept '%s' is already a child of '%s' with predicate '%s'.'" % self.log("Concept '%s' is already a child of '%s' with predicate '%s'.'" %
(childName, conceptName, getName(predicate))) (childName, conceptName, getName(predicate)))
else: else:
concept.assignChild(child, predicate) concept.assignChild(child, predicate, **kw)
self.log("Concept '%s' assigned to '%s with predicate '%s'.'" % self.log("Concept '%s' assigned to '%s with predicate '%s'.'" %
(childName, conceptName, getName(predicate))) (childName, conceptName, getName(predicate)))
@ -181,7 +181,7 @@ class SetupManager(object):
self.log("Resource '%s' ('%s') created." % (name, title)) self.log("Resource '%s' ('%s') created." % (name, title))
return c return c
def assignResource(self, conceptName, resourceName, predicate=None): def assignResource(self, conceptName, resourceName, predicate=None, **kw):
if predicate is None: if predicate is None:
predicate = self.concepts.getDefaultPredicate() predicate = self.concepts.getDefaultPredicate()
if isinstance(predicate, basestring): if isinstance(predicate, basestring):
@ -192,7 +192,7 @@ class SetupManager(object):
self.log("Resource '%s' is already assigned to '%s with predicate '%s'.'" % self.log("Resource '%s' is already assigned to '%s with predicate '%s'.'" %
(resourceName, conceptName, getName(predicate))) (resourceName, conceptName, getName(predicate)))
else: else:
concept.assignResource(resource, predicate) concept.assignResource(resource, predicate, **kw)
self.log("Resource '%s' assigned to '%s with predicate '%s'.'" % self.log("Resource '%s' assigned to '%s with predicate '%s'.'" %
(resourceName, conceptName, getName(predicate))) (resourceName, conceptName, getName(predicate)))