diff options
author | Martin Sivak <msivak@redhat.com> | 2008-02-11 15:42:20 +0100 |
---|---|---|
committer | Martin Sivak <msivak@redhat.com> | 2008-02-11 15:42:20 +0100 |
commit | aad76695727f22ca6d325245ceb2ff3d1587950b (patch) | |
tree | 2cb63f47162dc68a8ecaca8ea4ca396eb69f9152 /pyfirstaidkit/plugins.py | |
parent | d4f3c35acc58dfab3c0432d936333f77c16d695a (diff) | |
download | firstaidkit-aad76695727f22ca6d325245ceb2ff3d1587950b.tar.gz firstaidkit-aad76695727f22ca6d325245ceb2ff3d1587950b.tar.xz firstaidkit-aad76695727f22ca6d325245ceb2ff3d1587950b.zip |
Add conflict flags to plugin definition
Add "activity" flags, so our "Tracker plugins logic" can work
Diffstat (limited to 'pyfirstaidkit/plugins.py')
-rw-r--r-- | pyfirstaidkit/plugins.py | 24 |
1 files changed, 19 insertions, 5 deletions
diff --git a/pyfirstaidkit/plugins.py b/pyfirstaidkit/plugins.py index 4cebf6d..2eba8d5 100644 --- a/pyfirstaidkit/plugins.py +++ b/pyfirstaidkit/plugins.py @@ -99,6 +99,7 @@ class Plugin(object): self._dependencies = dependencies self.provide = dependencies.provide + self.unprovide = dependencies.unprovide self.require = dependencies.require # @@ -165,6 +166,11 @@ class Plugin(object): def getDeps(cls): """Return list of conditions required to be set before automated run can be done""" return set() + + @classmethod + def getConflicts(cls): + """Return list of conditions required to be UNset before automated run can be done""" + return set() #methods available only for instance, see interpreter.py and dependency stuff there #def require(self, id) @@ -337,11 +343,19 @@ returns - True if conditions are fully satisfied if dependencies: deps = pklass.getDeps() - Logger.info("depends on: %s" % (", ".join(deps),)) - for d in deps: - if not self._deps.require(d): - Logger.info("depends on usatisfied condition: %s" % (d,)) - return False + if len(deps)>0: + Logger.info("depends on: %s" % (", ".join(deps),)) + for d in deps: + if not self._deps.require(d): + Logger.info("depends on usatisfied condition: %s" % (d,)) + return False + deps = pklass.getConflicts() + if len(deps)>0: + Logger.info("depends on flags to be unset: %s" % (", ".join(deps),)) + for d in deps: + if self._deps.require(d): + Logger.info("depends on condition to be UNset: %s" % (d,)) + return False p = pklass(flowName, reporting = self._reporting, dependencies = self._deps) for (step, rv) in p: #autorun all the needed steps |