From ed903cae7e8b45b9d3f2cdcbefbb94d2cadad038 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Bar=C4=B1=C5=9F=20Metin?= Date: Wed, 8 Sep 2010 17:17:46 +0200 Subject: [PATCH] add save_config method to SfaData --- sfadata.py | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/sfadata.py b/sfadata.py index 433868e..dbf7f30 100644 --- a/sfadata.py +++ b/sfadata.py @@ -14,6 +14,9 @@ class SfaData: } def __init__(self): + self.read_config() + + def read_config(self): filename = os.path.expanduser("~/.sfi/sfi_config") execfile(filename, SfaData.__dict__) for (k,v) in SfaData.defaults.items(): @@ -23,6 +26,28 @@ class SfaData: for (k,v) in SfaData.defaults.items(): print "%-20s: %r"%(k,getattr(SfaData,k)) + 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) + + def getAuthority(self): return SfaData.SFI_AUTH -- 2.43.0