[PATCH 04/16] Make TUI ready for getting spokes from multiple directories
Martin Sivak
msivak at redhat.com
Thu Dec 6 15:46:27 UTC 2012
---
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
+
--
1.7.11.7
More information about the anaconda-patches
mailing list