summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--category.py7
-rw-r--r--statemachine.py2
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):