summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael DeHaan <mdehaan@redhat.com>2007-11-14 16:22:24 -0500
committerMichael DeHaan <mdehaan@redhat.com>2007-11-14 16:22:24 -0500
commitee7627a81137e56cde1b195438e7136d35aa966d (patch)
tree0f58d5b83b07ad5c20a7b34f3b5586295d090d9e
parent9fc9534aa2d7fe2a3b7d451fd3cdda067a489db9 (diff)
downloadthird_party-cobbler-ee7627a81137e56cde1b195438e7136d35aa966d.tar.gz
third_party-cobbler-ee7627a81137e56cde1b195438e7136d35aa966d.tar.xz
third_party-cobbler-ee7627a81137e56cde1b195438e7136d35aa966d.zip
Expose function for getting all modules of a specific category.
-rw-r--r--cobbler/api.py9
-rw-r--r--cobbler/module_loader.py5
2 files changed, 10 insertions, 4 deletions
diff --git a/cobbler/api.py b/cobbler/api.py
index b846c81..4e26992 100644
--- a/cobbler/api.py
+++ b/cobbler/api.py
@@ -246,9 +246,10 @@ class BootAPI:
"""
return module_loader.get_module_from_file(section,name)
-if __name__ == "__main__":
- api = BootAPI()
- print api.version()
-
+ def get_modules_in_category(self,category):
+ """
+ Returns all modules in a given category, for instance "serializer", or "cli".
+ """
+ return get_modules_in_category(category)
diff --git a/cobbler/module_loader.py b/cobbler/module_loader.py
index bb94fec..dd1b757 100644
--- a/cobbler/module_loader.py
+++ b/cobbler/module_loader.py
@@ -78,6 +78,11 @@ def get_module_from_file(category,field):
value = cp.get("serializers",field)
return MODULE_CACHE.get(value, None)
+def get_modules_in_category(category):
+ if not MODULES_BY_CATEGORY.has_key(category):
+ return []
+ return MODULES_BY_CATEGORY[category].values()
+
if __name__ == "__main__":
print load_modules(module_path)