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")
v7-commits@lists.stg.fedorahosted.org