X-Git-Url: https://jfr.im/git/erebus.git/blobdiff_plain/0f8352dd7b9e7437ece92f72db01da146aabb51f..b367d0c5869793453f81614d320a65b169926794:/config.py diff --git a/config.py b/config.py index 6664f1c..6abad40 100644 --- a/config.py +++ b/config.py @@ -5,7 +5,7 @@ import ConfigParser class Config(object): def __init__(self, filename, writeout=True): - self.__dict__['config'] = ConfigParser.SafeConfigParser() + self.__dict__['config'] = ConfigParser.RawConfigParser() self.__dict__['filename'] = filename self.__dict__['writeout'] = writeout self.config.read(filename) @@ -16,6 +16,9 @@ class Config(object): def __setattr__(self, key, value): self.config.set('erebus', key, value) + def __getitem__(self, section): #!! READ-ONLY !! + return {item: self.config.get(section, item) for item in self.config.options(section)} + def level(self, cmd): return self.config.get('levels', cmd) @@ -30,6 +33,12 @@ class Config(object): return self.config.get(section, key) except: return default + def getboolean(self, section, key): + val = self.get(section, key, False) + if val == False or val == "0" or val.lower() == "false" or val.strip() == "": + return False + else: + return True def set(self, section, key, value): self.config.set(section, key, value) @@ -41,6 +50,8 @@ class Config(object): def __del__(self): if self.writeout: self.write() +def setup(fn='bot.config', writeout=True): + return Config(fn, writeout) if __name__ == '__main__': import sys @@ -48,6 +59,6 @@ if __name__ == '__main__': for s in cfg.config.sections(): for k, v in cfg.items(s): - print s+'.'+k, '=', v + print "[%r][%r] = %r" % (s, k, v) # for k, v in cfg.items(): # print 'erebus.'+k, '=', v