Add in the next tasks for the dep resolver.

This commit is contained in:
Mike Auty
2016-01-10 12:36:28 +00:00
parent f49f047e55
commit 82a145200f
2 changed files with 15 additions and 1 deletions
+11 -1
View File
@@ -39,7 +39,17 @@ class CommandLine(object):
# Determine the selected plugin
# Resolve the dependencies on that plugin
dldr = depresolver.DataLayerDependencyResolver()
print("DEPS RESOLVED", dldr.resolve_dependencies(plugin))
dependencies = dldr.resolve_dependencies(plugin)
# TODO: write functions that determine all possible options/requirements for this plugin
# (flatten the tree, treating disjunctions as conjunctions)
# TODO: Write functions that walk the tree and produce instances of each of the requirements
# (to allow a registry-like tree of config values that can be populated by the user)
# TODO: Walk down the tree attempting to fulfil each requirement (recursive) and backtrack when necessary
# Translate the parsed args to a context configuration
@@ -63,6 +63,10 @@ class DataLayerDependencyResolver(validity.ValidityRoutines):
fulfillment[requirement.name] = requirement
return fulfillment
def all_possible_requirements(self, deptree):
class Possibility(dict):
"""Class to differentiate between different available options for completion of a requirement"""