Mercurial > hg > gcmultimerge
changeset 6:ee6bf617f839
Implement configuration file reading.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Mon, 04 Jul 2016 12:53:11 +0300 |
parents | 9d4152f32223 |
children | f2ecfb3e04ee |
files | multimerge.py |
diffstat | 1 files changed, 20 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/multimerge.py Mon Jul 04 12:52:00 2016 +0300 +++ b/multimerge.py Mon Jul 04 12:53:11 2016 +0300 @@ -201,6 +201,13 @@ else: return None + def mread(self, cfgparser, sect): + for name in self.m_saveable: + if cfgparser.has_option(sect, name): + value = cfgparser.get(sect, name) + self.mset(name, value) + gcm_debug("{0} -> '{1}' == {2}".format(name, value, self.mget(name))) + ### ### Main program starts @@ -233,6 +240,19 @@ cfg.mdef("secret_file", True, gcm_is_filename, None, "client_secret.json") cfg.mdef("credential_file", True, gcm_is_filename, None, "client_credentials.json") + +## Read, parse and validate configuration file +if len(sys.argv) > 1: + gcm_debug("Reading configuration from '{0}'.".format(sys.argv[1])) + try: + cfgparser = ConfigParser.RawConfigParser() + cfgparser.read(sys.argv[1]) + except Exception as e: + gcm_fatal("Failed to read configuration file '{0}': {1}".format(sys.argv[1], str(e))) + + # Parse the settings and validate + cfg.mread(cfgparser, section) + ## Initialize and authorize API connection credentials = gcm_get_credentials(cfg) http = credentials.authorize(httplib2.Http())