comparison multimerge.py @ 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
comparison
equal deleted inserted replaced
5:9d4152f32223 6:ee6bf617f839
199 if name in self.m_data: 199 if name in self.m_data:
200 return self.m_data[name] 200 return self.m_data[name]
201 else: 201 else:
202 return None 202 return None
203 203
204 def mread(self, cfgparser, sect):
205 for name in self.m_saveable:
206 if cfgparser.has_option(sect, name):
207 value = cfgparser.get(sect, name)
208 self.mset(name, value)
209 gcm_debug("{0} -> '{1}' == {2}".format(name, value, self.mget(name)))
210
204 211
205 ### 212 ###
206 ### Main program starts 213 ### Main program starts
207 ### 214 ###
208 gcm_msgbuf = [] 215 gcm_msgbuf = []
230 cfg.mdef("app_name", False, None, None, "Google Calendar MultiMerge") 237 cfg.mdef("app_name", False, None, None, "Google Calendar MultiMerge")
231 cfg.mdef("scope", False, None, None, "https://www.googleapis.com/auth/calendar") 238 cfg.mdef("scope", False, None, None, "https://www.googleapis.com/auth/calendar")
232 #cfg.mdef("scope", False, None, None, "https://www.googleapis.com/auth/calendar.readonly") 239 #cfg.mdef("scope", False, None, None, "https://www.googleapis.com/auth/calendar.readonly")
233 cfg.mdef("secret_file", True, gcm_is_filename, None, "client_secret.json") 240 cfg.mdef("secret_file", True, gcm_is_filename, None, "client_secret.json")
234 cfg.mdef("credential_file", True, gcm_is_filename, None, "client_credentials.json") 241 cfg.mdef("credential_file", True, gcm_is_filename, None, "client_credentials.json")
242
243
244 ## Read, parse and validate configuration file
245 if len(sys.argv) > 1:
246 gcm_debug("Reading configuration from '{0}'.".format(sys.argv[1]))
247 try:
248 cfgparser = ConfigParser.RawConfigParser()
249 cfgparser.read(sys.argv[1])
250 except Exception as e:
251 gcm_fatal("Failed to read configuration file '{0}': {1}".format(sys.argv[1], str(e)))
252
253 # Parse the settings and validate
254 cfg.mread(cfgparser, section)
235 255
236 ## Initialize and authorize API connection 256 ## Initialize and authorize API connection
237 credentials = gcm_get_credentials(cfg) 257 credentials = gcm_get_credentials(cfg)
238 http = credentials.authorize(httplib2.Http()) 258 http = credentials.authorize(httplib2.Http())
239 service = discovery.build("calendar", "v3", http=http) 259 service = discovery.build("calendar", "v3", http=http)