diff options
author | Lars Wirzenius <liw@liw.fi> | 2020-04-10 13:54:57 +0300 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2020-04-10 13:54:57 +0300 |
commit | b5daa18fb9373eaa39c6a7370a8236d83962f80f (patch) | |
tree | b75ea0890901847c720d9f087998b7e53b38a937 | |
parent | b4ebf05f45930de4fc5ebef6352e635c6e8ea91b (diff) | |
download | vmdb2-b5daa18fb9373eaa39c6a7370a8236d83962f80f.tar.gz |
Refactor: move get_required_keys into StepRunnerList
-rw-r--r-- | vmdb/step_list.py | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/vmdb/step_list.py b/vmdb/step_list.py index 16bdb5f..c8d0ec8 100644 --- a/vmdb/step_list.py +++ b/vmdb/step_list.py @@ -51,13 +51,6 @@ class StepRunnerInterface: # pragma: no cover return values - def get_required_keys(self): - return [ - key - for key, value in self.get_key_spec().items() - if value.__class__ == type - ] - def run(self, step_spec, settings, state): raise NotImplementedError() @@ -101,12 +94,19 @@ class StepRunnerList: def find(self, step_spec): actual = set(step_spec.keys()) for runner in self._runners: - required = set(runner.get_required_keys()) + required = set(self.get_required_keys(runner)) if actual.intersection(required) == required: runner.get_values(step_spec) return runner raise NoMatchingRunner(actual) + def get_required_keys(self, runner): + return [ + key + for key, value in runner.get_key_spec().items() + if value.__class__ == type + ] + class StepError(cliapp.AppException): |