Mercurial > hg > configuration
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() |