X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sfa%2Futil%2Fconfig.py;h=444ceeb89cdff6cbc13f09a26395cea145101a84;hb=d9c3268fb8bdb5269dd2b77c85eff08816e863e2;hp=3a3d36a8af54585508ec38373d4aa15221057fd9;hpb=177b96762d2b0d94af773c14e5a7cee161be3129;p=sfa.git diff --git a/sfa/util/config.py b/sfa/util/config.py index 3a3d36a8..444ceeb8 100644 --- a/sfa/util/config.py +++ b/sfa/util/config.py @@ -12,6 +12,12 @@ default_config = \ """ """ +def isbool(v): + return v.lower() in ("true", "false") + +def str2bool(v): + return v.lower() in ("true", "1") + class Config: def __init__(self, config_file='/etc/sfa/sfa_config'): @@ -107,6 +113,10 @@ DO NOT EDIT. This file was automatically generated at for item in self.config.items(section): name = "%s_%s" % (section, item[0]) value = item[1] + if isbool(value): + value = str2bool(value) + elif value.isdigit(): + value = int(value) setattr(self, name, value) setattr(self, name.upper(), value) @@ -162,8 +172,10 @@ DO NOT EDIT. This file was automatically generated at # bash does not have the concept of NULL if value: option = "%s_%s" % (section.upper(), name.upper()) - if bool(value) and not value.isdigit(): - value = str(bool(value)) + if isbool(value): + value = str(str2bool(value)) + elif not value.isdigit(): + value = '"%s"' % value buf.write(option + "=" + value + os.linesep) return buf.getvalue()