"""Modprobe is a utility to read/modify/write /etc/modprobe.conf"""
import os
+import tempfile
-class Modprobe():
+class Modprobe:
def __init__(self,filename="/etc/modprobe.conf"):
self.conffile = {}
self.origconffile = {}
- for keyword in ("alias","options","install","remove","blacklist","MODULES"):
+ for keyword in ("alias","options","install","remove","blacklist","MODULES","#"):
self.conffile[keyword]={}
self.filename = filename
table = self.conffile.get(command,None)
if table == None:
- print "WARNING: command %s not recognize. Ignoring!" % command
+ print "WARNING: command %s not recognized. Ignoring!" % command
continue
if command == "alias":
return False
def output(self,filename="/etc/modprobe.conf",program="NodeManager"):
- tmpnam = os.tmpnam()
- fb = file(tmpnam,"w")
+ (fd, tmpnam) = tempfile.mkstemp(dir=os.path.dirname(filename))
+ fb = os.fdopen(fd, "w")
fb.write("# Written out by %s\n" % program)
for command in ("alias","options","install","remove","blacklist"):
os.chmod(filename,0644)
return True
else:
+ os.unlink(tmpnam)
return False
def probe(self,name):