+class configFile:
+ def __init__(self):
+ self.changed = 0
+ self.configElements = { }
+ try:
+ self.file = open("config")
+ except IOError:
+ print "cannot open config file"
+ return
+
+ while 1:
+ line = self.file.readline()
+ if line == "":
+ break
+
+ if line.startswith("#"): #skip comments
+ continue
+
+ self.addElement(line)
+ self.file.close()
+
+ def addElement(self, line):
+ x = line.find("=")
+ if x > -1:
+ self.configElements[line[:x]] = line[x + 1:]
+
+ def getKey(self, key):
+ return self.configElements[key]
+
+ def setKey(self, key, value):
+ self.changed = 1
+ self.configElements[key] = value
+
+ def save(self):
+ if self.changed == 0: #no changes, so no write to disk needed
+ return
+
+ fileHandle = open("config", "w")
+
+ for x in self.configElements:
+ wstr = x + "=" + self.configElements[x]
+
+ if wstr[len(wstr) - 1] != '\n':
+ wstr = wstr + "\n"
+
+ fileHandle.write(wstr)
+
+ fileHandle.close()
+