d_registry= "http://www.planet-lab.org:12345"
d_slicemgr= "http://www.planet-lab.org:12347"
- d_aggmgr= "http://www.planet-lab.org:12346"
+# d_aggmgr= "http://www.planet-lab.org:12346"
supported = [
# local code name, config variable name, default
('slice', 'SFI_SLICE' , None, '-s','--slice', "slice HRN"),
('user', 'SFI_USER', None, '-u','--user', "user HRN"),
('authority', 'SFI_AUTH', None, '-t','--auth', "users's authority HRN"),
- ('registry', 'SFI_REGISTRY', d_registry, '-r','--registry', "registry's URL"),
- ('slicemgr', 'SFI_SM' , d_slicemgr, '-m','--slicemgr', "slice manager's URL"),
- ('aggmgr', 'SFI_AM', d_aggmgr, '-a','--aggregate', "aggregate manager's URL"),
- ('verbose', 'SFACE_VERBOSE',False, '-v','--verbose', "UI verbosity"),
+ ('registry', 'SFI_REGISTRY', d_registry, '-r','--registry', "registry API URL"),
+ ('slicemgr', 'SFI_SM' , d_slicemgr, '-m','--slicemgr', "slice API URL"),
+# ('aggmgr', 'SFI_AM', d_aggmgr, '-a','--aggregate', "aggregate manager's URL"),
+ ('verbose', 'SFACE_VERBOSE',True, '-v','--verbose', "UI verbosity"),
('debug', 'SFACE_DEBUG', False, '-d','--debug', "UI debug flag"),
]
if tuple[1]==sfi: return tuple[0]
return None
+ def sfi_name(self, field):
+ for tuple in Config.supported:
+ if tuple[0] == field: return tuple[1]
+ return None
+
def field_default (self, field):
for tuple in Config.supported:
if tuple[0]==field: return tuple[2]
if self.debug:
print msg
for k in self.fields():
- print "%-20s: %r"%(k,getattr(self,k))
+ print "%-20s: %r"%(k, self.get(k))
def save_config(self):
configfile = self.filename()
tmpfile = configfile + ".tmp"
out = open(tmpfile, "w")
- lineno=0
- fields=self.fields()
+ lineno = 0
+ written_fields = []
+ fields = self.fields()
for line in open(configfile):
lineno += 1
try:
sfi, val = line.split('=')
sfi = sfi.strip()
val = val.strip()
- field=self.sfi_field(sfi)
+ field = self.sfi_field(sfi)
if field:
- newval=getattr(self,field)
- if not self.is_bool_field(field): newval="'%s'"%newval
+ written_fields.append(field)
+ newval = self.get(field)
+ if not self.is_bool_field(field):
+ newval="'%s'"%newval
line = "%s = %s\n" % (sfi, newval)
except:
if self.debug:
import traceback
print 'line',lineno,'ignored',line
out.write(line)
- out.close()
+ # append other field in the end
+ new_fields = [f for f in fields if f not in written_fields]
+ for field in new_fields:
+ sfi = self.sfi_name(field)
+ val = self.get(field)
+ if not self.is_bool_field(field):
+ val="'%s'" % val
+ out.write("%s = %s\n" % (sfi, val))
+
+ out.close()
os.unlink(configfile)
os.rename(tmpfile, configfile)