]> jfr.im git - erebus.git/blobdiff - config.py
bot - update error handling
[erebus.git] / config.py
index c41e806bc78da21719d8cc833a2d156a124c5179..6664f1cef6bf91005b782d15a6bd4ba7e9af9cab 100644 (file)
--- a/config.py
+++ b/config.py
@@ -1,7 +1,9 @@
+# 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__['filename'] = filename
@@ -14,11 +16,26 @@ 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):
@@ -29,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