]> jfr.im git - erebus.git/blob - config.py
Putting header on files
[erebus.git] / config.py
1 # Erebus IRC bot - Author: John Runyon
2 # "Config" class (reading/providing access to bot.config)
3
4 import ConfigParser
5
6 class Config(object):
7 def __init__(self, filename, writeout=True):
8 self.__dict__['config'] = ConfigParser.SafeConfigParser()
9 self.__dict__['filename'] = filename
10 self.__dict__['writeout'] = writeout
11 self.config.read(filename)
12
13 def __getattr__(self, key):
14 return self.config.get('erebus', key)
15
16 def __setattr__(self, key, value):
17 self.config.set('erebus', key, value)
18
19 def items(self, section='erebus'):
20 return self.config.items(section)
21
22 def write(self):
23 with open(self.filename, 'wb') as configfile:
24 self.config.write(configfile)
25
26 def __del__(self):
27 if self.writeout: self.write()
28
29
30 if __name__ == '__main__':
31 import sys
32 cfg = Config(sys.argv[1], False)
33
34 for k, v in cfg.items():
35 print k, '=', v