X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=modprobe.py;h=b56f5d5d984598958869c674d8b461615604050b;hb=89e957e8d10374704225ec04357a067aa350c4d6;hp=d7fa2e345a4488f4d0f5a6e6ffa800d0044c0c91;hpb=0a2d962b3b9c396f45b6ef3e1d435bb63b83a15d;p=pyplnet.git diff --git a/modprobe.py b/modprobe.py index d7fa2e3..b56f5d5 100644 --- a/modprobe.py +++ b/modprobe.py @@ -5,12 +5,13 @@ """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 @@ -23,7 +24,7 @@ class Modprobe(): 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": @@ -80,8 +81,8 @@ class Modprobe(): 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"): @@ -98,6 +99,7 @@ class Modprobe(): os.chmod(filename,0644) return True else: + os.unlink(tmpnam) return False def probe(self,name):