Mercurial > hg > configuration
view configuration/config.py @ 2:35f57b21885f
no stubbing
author | Jeff Hammel <jhammel@mozilla.com> |
---|---|
date | Sat, 24 Mar 2012 11:43:45 -0700 |
parents | 1dbdb4a57e0c |
children | 92e1b2dd60c8 |
line wrap: on
line source
#!/usr/bin/env python """ multi-level unified configuration """ import sys import optparse class Configuration(object): options = {} def __init__(self): self.config = {} def check(self): """check validity of configuration""" def __call__(self, *args): """add items to configuration and check it""" def add(self, config): """update configuration: not undoable""" self.config.update(config) # TODO: option to extend; augment lists/dicts def main(args=sys.argv[:]): # parse command line options usage = '%prog [options]' class PlainDescriptionFormatter(optparse.IndentedHelpFormatter): """description formatter for console script entry point""" def format_description(self, description): if description: return description.strip() + '\n' else: return '' parser = optparse.OptionParser(usage=usage, description=__doc__, formatter=PlainDescriptionFormatter()) options, args = parser.parse_args(args) if __name__ == '__main__': main()