+ def save_config(self):
+ config_keys = SfaData.defaults.keys()
+ configfile = os.path.expanduser("~/.sfi/sfi_config")
+ tmpfile = configfile + ".tmp"
+
+ out = open(tmpfile, "w")
+ for line in open(os.path.expanduser("~/.sfi/sfi_config")):
+ try:
+ key, val = line.split('=')
+ key = key.strip()
+ val = val.strip()
+ if key in config_keys:
+ line = "%s = '%s'\n" % (key, getattr(self, key))
+ except:
+ pass
+ out.write(line)
+ out.close()
+
+ os.unlink(configfile)
+ os.rename(tmpfile, configfile)
+
+