Author: gnichols
Date: 2011-04-18 13:23:33 +0000 (Mon, 18 Apr 2011)
New Revision: 876
Modified:
trunk/v7/configfile.py
Log:
626970 - FEAT: kdump test needs to verify kdump
Modified: trunk/v7/configfile.py
===================================================================
--- trunk/v7/configfile.py 2011-04-18 13:23:21 UTC (rev 875)
+++ trunk/v7/configfile.py 2011-04-18 13:23:33 UTC (rev 876)
@@ -23,10 +23,13 @@
def __init__(self, filePath):
self.filePath = filePath
self.parameters = None
+ self.__parse()
+ self.modified = False
def __parse(self):
file = open(self.filePath)
- for line in file.readlines():
+ self.lines = file.readlines()
+ for line in self.lines:
# skip comment lines
if line.strip() and line.strip()[0] == "#":
continue
@@ -38,8 +41,6 @@
file.close()
def getParameter(self, name):
- if not self.parameters:
- self.__parse()
if self.parameters:
try:
return self.parameters[name]
@@ -48,21 +49,37 @@
return None
def dump(self):
- if not self.parameters:
- self.__parse()
if self.parameters:
for key in self.parameters:
print "%s = %s" % (key, self.parameters[key])
def addParameter(self, name, value):
if not self.getParameter(name):
- file = open(self.filePath, "a")
- file.write("%s %s\n" % (name, value))
- file.close()
+ self.parameters[name] = value
+ self.lines.append("%s %s\n" % name, value)
+ self.modified = True
return True
# otherwise
return False
+ def removeParameter(self, name):
+ if self.getParameter(name):
+ del self.parameters[name]
+ for line in self.lines:
+ # skip comment lines
+ if line.strip() and line.strip()[0] == "#":
+ continue
+ words = line.strip().split(" ")
+ if words[0] and words[0] == name:
+ self.lines.remove(line)
+ self.modified = True
+
+ def save(self):
+ if self.modified:
+ file = open(self.filePath, "w")
+ for line in self.lines:
+ file.write(line)
+
if __name__ == "__main__":
try:
confFile = ConfigFile("/etc/rc.local")
Show replies by date