X-Git-Url: http://git.onelab.eu/?p=sface.git;a=blobdiff_plain;f=sface%2Fconfig.py;h=d1e944b109681a27346b20c583564cbb0da285a7;hp=781d0a81fd63e4496c92507c05fc0e58bb6fe6d6;hb=524ef530d221d79b79df8b8b08075525fe1d23b6;hpb=0e91674d48246994c7d6bb121cb1ebd55980dee7 diff --git a/sface/config.py b/sface/config.py index 781d0a8..d1e944b 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('=') @@ -165,8 +175,21 @@ class Config: def getSliceRSpecFile(self): return os.path.expanduser("~/.sfi/%s.rspec" % self.getSlice()) - + + def getSliceRecordFile(self): + return os.path.expanduser("~/.sfi/%s.record" % self.getSlice()) + + def getAuthorityRecordFile(self): + return os.path.expanduser("~/.sfi/%s.record" % self.getAuthority()) + + def getAuthorityListFile(self, i=None): + if (i != None) and (i != 0): + return os.path.expanduser("~/.sfi/%s_list.record.%d" % (self.getAuthority(),i)) + else: + return os.path.expanduser("~/.sfi/%s_list.record" % self.getAuthority()) + # configuration singleton config = Config() config.define_accessors() +