On Thu, 2012-12-06 at 16:46 +0100, Martin Sivak wrote:
pyanaconda/ui/tui/hubs/__init__.py | 2 +- pyanaconda/ui/tui/spokes/__init__.py | 18 +++++++++++++----- 2 files changed, 14 insertions(+), 6 deletions(-)
diff --git a/pyanaconda/ui/tui/hubs/__init__.py b/pyanaconda/ui/tui/hubs/__init__.py index b7dade1..0f505f7 100644 --- a/pyanaconda/ui/tui/hubs/__init__.py +++ b/pyanaconda/ui/tui/hubs/__init__.py @@ -52,7 +52,7 @@ class TUIHub(TUIObject, common.Hub):
# look for spokes having category present in self.categories for c in self.categories:
spokes = collect_spokes(c)
spokes = collect_spokes([("pyanaconda.ui.tui.spokes.%s", os.path.join(os.path.dirname(__file__), "spokes"))], c) # sort them according to their priority for s in sorted(spokes, key = lambda s: s.priority):diff --git a/pyanaconda/ui/tui/spokes/__init__.py b/pyanaconda/ui/tui/spokes/__init__.py index a51a19e..1abe008 100644 --- a/pyanaconda/ui/tui/spokes/__init__.py +++ b/pyanaconda/ui/tui/spokes/__init__.py @@ -81,13 +81,21 @@ class NormalTUISpoke(TUISpoke, NormalSpoke): class PersonalizationTUISpoke(TUISpoke, PersonalizationSpoke): pass
-def collect_spokes(category): +def collect_spokes(mask_paths, category): """Return a list of all spoke subclasses that should appear for a given category. """
- return collect("pyanaconda.ui.tui.spokes.%s", os.path.dirname(__file__), lambda obj: hasattr(obj, "category") and obj.category != None and obj.category == category)
-def collect_categories():
- classes = collect("pyanaconda.ui.tui.spokes.%s", os.path.dirname(__file__), lambda obj: hasattr(obj, "category") and obj.category != None and obj.category != "")
- spokes = []
- for mask, path in mask_paths:
spokes.extend(collect(mask, path, lambda obj: hasattr(obj, "category") and obj.category != None and obj.category == category))- return spokes
+def collect_categories(mask_paths):
- classes = []
- for mask, path in mask_paths:
classes.extend(collect(mask, path, lambda obj: hasattr(obj, "category") and obj.category != None and obj.category != "")) categories = set([c.category for c in classes]) return categories
No new line needed.