some minor fixes...
git-svn-id: svn://svn.cy55.de/Zope3/src/cybertools/trunk@1229 fd906abe-77d9-0310-91a1-e0d9ade77398
This commit is contained in:
parent
5f5a200ce1
commit
c7fb96d549
2 changed files with 8 additions and 8 deletions
|
@ -44,15 +44,15 @@ class Knowing(object):
|
|||
del self._knowledge[obj]
|
||||
del obj._knowers[self]
|
||||
|
||||
def getMissingKnowledge(self, position):
|
||||
knowledge = self.getKnowledge()
|
||||
def getMissingKnowledge(self, profile):
|
||||
knowledge = list(self.getKnowledge())
|
||||
missing = []
|
||||
toCheck = [k for k in position.getRequirements() if k not in knowledge]
|
||||
toCheck = [k for k in profile.getRequirements() if k not in knowledge]
|
||||
while toCheck:
|
||||
k = toCheck.pop()
|
||||
missing.insert(0, k)
|
||||
for d in k.getDependencies():
|
||||
if d in knowledge or k in toCheck:
|
||||
if d in knowledge or d in toCheck:
|
||||
continue
|
||||
if d in missing:
|
||||
# TODO: rearrange missing, but care for cycles...
|
||||
|
@ -60,8 +60,8 @@ class Knowing(object):
|
|||
toCheck.append(d)
|
||||
return tuple(missing)
|
||||
|
||||
def getProvidersNeeded(self, position):
|
||||
def getProvidersNeeded(self, profile):
|
||||
return ((k, k.getProviders())
|
||||
for k in self.getMissingKnowledge(position))
|
||||
for k in self.getMissingKnowledge(profile))
|
||||
|
||||
|
||||
|
|
|
@ -40,7 +40,7 @@ class KnowledgeProvider(object):
|
|||
self._providedKnowledge[obj] = True
|
||||
obj._providers.add(self)
|
||||
|
||||
def removeDependency(self, obj):
|
||||
def removeProvidedKnowledge(self, obj):
|
||||
del self._providedKnowledge[obj]
|
||||
del obj._providers[self]
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue