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():
if r.predicate != typePredicate:
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)
if r.relevance != 1.0:
args.append(r.relevance)
@ -155,7 +155,7 @@ class Extractor(Base):
for r in c.getResourceRelations():
if r.predicate != typePredicate:
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)
if r.relevance != 1.0:
args.append(r.relevance)

8
external/element.py vendored
View file

@ -136,7 +136,9 @@ class ChildElement(Element):
self[self.posArgs[idx]] = arg
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):
@ -181,7 +183,9 @@ class ResourceRelationElement(ChildElement):
elementType = 'resourceRelation'
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):

View file

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