X-Git-Url: https://jfr.im/git/erebus.git/blobdiff_plain/b25d436812b01503103b6eb8a6ea806b5b4d5bdf..f0118d0548fe23201d02cb1972ba1baa4e6630f4:/config.py diff --git a/config.py b/config.py index d4dfe5d..273450a 100644 --- a/config.py +++ b/config.py @@ -1,9 +1,11 @@ +# Erebus IRC bot - Author: John Runyon +# "Config" class (reading/providing access to bot.config) + import ConfigParser class Config(object): -# config = ConfigParser.SafeConfigParser() 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) @@ -14,12 +16,28 @@ class Config(object): def __setattr__(self, key, value): self.config.set('erebus', key, value) - def items(self): - return self.config.items('erebus') + def level(self, cmd): + return self.config.get('levels', cmd) + + def setlevel(self, cmd, level): + self.config.set('levels', cmd, level) + + def items(self, section='erebus'): + return self.config.items(section) + + def get(self, section, key, default=None): + try: + return self.config.get(section, key) + except: + return default + + def set(self, section, key, value): + self.config.set(section, key, value) def write(self): - with open(self._filename, 'wb') as configfile: + with open(self.filename, 'wb') as configfile: self.config.write(configfile) + def __del__(self): if self.writeout: self.write() @@ -28,5 +46,8 @@ if __name__ == '__main__': import sys cfg = Config(sys.argv[1], False) - for k, v in cfg.items(): - print k, '=', v + for s in cfg.config.sections(): + for k, v in cfg.items(s): + print s+'.'+k, '=', v +# for k, v in cfg.items(): +# print 'erebus.'+k, '=', v