python: Make kmod.modprobe() raise an error if no modules found
authorAndy Grover <agrover@redhat.com>
Tue, 12 Feb 2013 00:55:11 +0000 (16:55 -0800)
committerLucas De Marchi <lucas.demarchi@intel.com>
Tue, 25 Mar 2014 03:34:16 +0000 (00:34 -0300)
Add 'quiet' option to override.

Add docstring.

libkmod/python/kmod/kmod.pyx

index 556b0f2..3e73a1c 100644 (file)
@@ -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):