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,24 +44,24 @@ class Knowing(object):
|
||||||
del self._knowledge[obj]
|
del self._knowledge[obj]
|
||||||
del obj._knowers[self]
|
del obj._knowers[self]
|
||||||
|
|
||||||
def getMissingKnowledge(self, position):
|
def getMissingKnowledge(self, profile):
|
||||||
knowledge = self.getKnowledge()
|
knowledge = list(self.getKnowledge())
|
||||||
missing = []
|
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:
|
while toCheck:
|
||||||
k = toCheck.pop()
|
k = toCheck.pop()
|
||||||
missing.insert(0, k)
|
missing.insert(0, k)
|
||||||
for d in k.getDependencies():
|
for d in k.getDependencies():
|
||||||
if d in knowledge or k in toCheck:
|
if d in knowledge or d in toCheck:
|
||||||
continue
|
continue
|
||||||
if d in missing:
|
if d in missing:
|
||||||
# TODO: rearrange missing, but care for cycles...
|
# TODO: rearrange missing, but care for cycles...
|
||||||
continue
|
continue
|
||||||
toCheck.append(d)
|
toCheck.append(d)
|
||||||
return tuple(missing)
|
return tuple(missing)
|
||||||
|
|
||||||
def getProvidersNeeded(self, position):
|
def getProvidersNeeded(self, profile):
|
||||||
return ((k, k.getProviders())
|
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
|
self._providedKnowledge[obj] = True
|
||||||
obj._providers.add(self)
|
obj._providers.add(self)
|
||||||
|
|
||||||
def removeDependency(self, obj):
|
def removeProvidedKnowledge(self, obj):
|
||||||
del self._providedKnowledge[obj]
|
del self._providedKnowledge[obj]
|
||||||
del obj._providers[self]
|
del obj._providers[self]
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue