aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndy Grover <agrover@redhat.com>2013-02-11 16:55:11 -0800
committerLucas De Marchi <lucas.demarchi@intel.com>2014-03-25 00:34:16 -0300
commite4a57f6828fa25e57e81c31cd243e9aa8414a42c (patch)
tree24bc26923e0fde8defd9777b7cf760dff97639c0
parent891e0756e77c9f85ab88ca1cd9c846568107370f (diff)
downloadkmod-e4a57f6828fa25e57e81c31cd243e9aa8414a42c.tar.gz
python: Make kmod.modprobe() raise an error if no modules found
Add 'quiet' option to override. Add docstring.
-rw-r--r--libkmod/python/kmod/kmod.pyx14
1 files changed, 12 insertions, 2 deletions
diff --git a/libkmod/python/kmod/kmod.pyx b/libkmod/python/kmod/kmod.pyx
index 556b0f2..3e73a1c 100644
--- a/libkmod/python/kmod/kmod.pyx
+++ b/libkmod/python/kmod/kmod.pyx
@@ -102,8 +102,18 @@ cdef class Kmod (object):
for mod in self.loaded():
yield (mod.name, mod.size)
- def modprobe(self, alias_name, *args, **kwargs):
- for mod in self.lookup(alias_name=alias_name):
+ def modprobe(self, name, quiet=False, *args, **kwargs):
+ """
+ Load a module (or alias) and all modules on which it depends.
+ The 'quiet' option defaults to False; set to True to mimic the behavior
+ of the '--quiet' commandline option.
+ """
+ mods = list(self.lookup(alias_name=name))
+
+ if not mods and not quiet:
+ raise _KmodError('Could not modprobe %s' % name)
+
+ for mod in mods:
mod.insert(*args, **kwargs)
def rmmod(self, module_name, *args, **kwargs):