diff options
-rw-r--r-- | category.py | 7 | ||||
-rw-r--r-- | statemachine.py | 2 |
2 files changed, 8 insertions, 1 deletions
diff --git a/category.py b/category.py index ad33774..1bccda1 100644 --- a/category.py +++ b/category.py @@ -59,6 +59,13 @@ class Category: retval.add(Category(self.name, **newargs)) return retval + def intersect_args(self, **args): + """ + `intersect` this Category with a new Category that has the same name and + the provided args. + """ + return self.intersect(Category(self.name, **args)) + def intersect(self, other): """ Returns a new category consisting only of items that are in this diff --git a/statemachine.py b/statemachine.py index 892dde6..3c63048 100644 --- a/statemachine.py +++ b/statemachine.py @@ -91,7 +91,7 @@ class StateMachine: retval = [] for cat in self.up: if dependencies.superset_of(cat): - retval.append(dependents.intersect(Category(dependents.name, **cat.args))) + retval.append(dependents.intersect_args(**cat.args)) return set(retval) | dependents.inverse_set() def get_applicable_deps(self, cat): |