X-Git-Url: http://git.onelab.eu/?p=sface.git;a=blobdiff_plain;f=sface%2Fconfig.py;h=885e6b602ce12948053bf774b67f0eb52b56123f;hp=781d0a81fd63e4496c92507c05fc0e58bb6fe6d6;hb=95e0d8d2ac7bc562d011faba71d8c0276cd31264;hpb=842f2526ce06bdfc797917a43f1927e52a05fc67 diff --git a/sface/config.py b/sface/config.py index 781d0a8..885e6b6 100644 --- a/sface/config.py +++ b/sface/config.py @@ -70,8 +70,11 @@ class Config: def __init__(self): self.read_config() + def dirname (self): + return os.path.expanduser("~/.sfi/") + def filename (self): - return os.path.expanduser("~/.sfi/sfi_config") + return self.dirname() + "sfi_config" def read_config(self): tmp={} @@ -92,14 +95,21 @@ class Config: print "%-20s: %r"%(k, self.get(k)) def save_config(self): + configdir = self.dirname() + if not os.path.exists(configdir): + os.makedirs(configdir) + configfile = self.filename() + if not os.path.exists(configfile): + open(configfile, "w").close() + tmpfile = configfile + ".tmp" out = open(tmpfile, "w") lineno = 0 written_fields = [] fields = self.fields() - for line in open(configfile): + for line in open(configfile, "r"): lineno += 1 try: sfi, val = line.split('=')