comparison configuration/configuration.py @ 120:4c7f93ce302a

separate loading configuration files to its own method for consumers
author Jeff Hammel <jhammel@mozilla.com>
date Tue, 04 Dec 2012 16:17:55 -0800
parents f103c93690fb
children 90cb8aedecbb
comparison
equal deleted inserted replaced
119:f103c93690fb 120:4c7f93ce302a
442 configuration_files = [] 442 configuration_files = []
443 if isinstance(configuration_files, basestring): 443 if isinstance(configuration_files, basestring):
444 configuration_files = [configuration_files] 444 configuration_files = [configuration_files]
445 return configuration_files 445 return configuration_files
446 446
447 def load_configuration_file(self, filename):
448 """load a configuration file"""
449 return self.deserialize(filename)
450
447 def read_configuration_files(self, options, args): 451 def read_configuration_files(self, options, args):
448 """deserialize configuration""" 452 """deserialize configuration"""
449 453
450 configuration_files = self.configuration_files(options, args) 454 configuration_files = self.configuration_files(options, args)
451 missing = [i for i in configuration_files 455 missing = [i for i in configuration_files
453 if missing: 457 if missing:
454 self.error("Missing files: %s" % ', '.join(missing)) 458 self.error("Missing files: %s" % ', '.join(missing))
455 config = [] 459 config = []
456 for f in configuration_files: 460 for f in configuration_files:
457 try: 461 try:
458 loaded_config = self.deserialize(f) 462 loaded_config = self.load_configuration_file(f)
459 if loaded_config: 463 if loaded_config:
460 config.append(loaded_config) 464 config.append(loaded_config)
461 except BaseException, e: 465 except BaseException, e:
462 parser.error(str(e)) 466 parser.error(str(e))
463 return config 467 return config
464 468
465 def parse_args(self, *args, **kw): 469 def parse_args(self, *args, **kw):
466 470
471 # parse command line options
467 self.parsed = dict() 472 self.parsed = dict()
468 options, args = optparse.OptionParser.parse_args(self, *args, **kw) 473 options, args = optparse.OptionParser.parse_args(self, *args, **kw)
469 474
470 # get CLI configuration options 475 # get CLI configuration options
471 cli_config = dict([(key, value) for key, value in options.__dict__.items() 476 cli_config = dict([(key, value) for key, value in options.__dict__.items()