|
#!/usr/bin/python
|
|
"""Configuration settings for console app using device flow authentication
|
|
"""
|
|
|
|
import re
|
|
import os
|
|
import configparser
|
|
|
|
|
|
# Read Config from File
|
|
config = configparser.RawConfigParser({
|
|
'machine': '',
|
|
'login': '',
|
|
'days_history': 7,
|
|
'days_future': 30,
|
|
'max_entries': 100
|
|
})
|
|
directory = os.path.dirname(os.path.realpath(__file__))
|
|
config.read(os.path.join(directory, 'config.cfg'))
|
|
|
|
|
|
def get_secret(machine, login, key):
|
|
s = "^machine %s login %s[\^]%s password (.*)$" % (machine, login, key)
|
|
p = re.compile(s, re.MULTILINE)
|
|
authinfo = os.popen("gpg -q --no-tty -d ~/.authinfo.gpg").read()
|
|
matches = p.search(authinfo)
|
|
if matches is not None:
|
|
return matches.group(1)
|
|
else:
|
|
return None
|
|
|
|
RESOURCE = config.get('msgraph-orgmode', 'resource')
|
|
API_VERSION = config.get('msgraph-orgmode', 'api_version')
|
|
LOGIN = config.get('msgraph-orgmode', 'login')
|
|
MACHINE = config.get('msgraph-orgmode', 'machine')
|
|
CLIENT_ID = config.get('msgraph-orgmode', 'client_id')
|
|
CLIENT_SECRET = get_secret(MACHINE, LOGIN, 'client_secret')
|
|
|
|
daysHistory = config.getint('msgraph-orgmode', 'days_history')
|
|
daysFuture = config.getint('msgraph-orgmode', 'days_future')
|
|
maxEntries = config.getint('msgraph-orgmode', 'max_entries')
|
|
|
|
if not CLIENT_ID and not CLIENT_SECRET:
|
|
print('ERROR: CLIENT_ID and CLIENT_SECRET are required.')
|
|
import sys
|
|
sys.exit(1)
|