You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
1.8 KiB
Python
38 lines
1.8 KiB
Python
import argparse
|
|
import configparser
|
|
import logging
|
|
import os
|
|
|
|
cwd = os.environ.get('TILDE_CONF')
|
|
if cwd is None:
|
|
cwd = os.getcwd() + "/applicationsconfig.ini"
|
|
else:
|
|
if os.path.isfile(cwd) is False:
|
|
cwd = os.getcwd() + "/applicationsconfig.ini"
|
|
# cwd is now either cwd/applicationsconfig or $TILDE_CONF
|
|
argparser = argparse.ArgumentParser(description='Tilde administration tools')
|
|
argparser.add_argument('-c', '--config', default=cwd,
|
|
type=str, help='Path to configuration file', required=False)
|
|
# store_true just stores true when the command is supplied, so it doesn't need choices nor types
|
|
argparser.add_argument('-u', '--unapproved', default=False, action="store_true",
|
|
help='only unapproved users. Default is only approved.', required=False)
|
|
argparser.add_argument('-a', '--approved', default=False, action="store_true",
|
|
help="Only approved Users.", required=False)
|
|
argparser.add_argument('-f', '--file', default="stdout",
|
|
type=str, help='write to file instead of stdout', required=False)
|
|
argparser.add_argument('--Import', default=False, action="store_true",
|
|
help="Import Users from file. Affects currently only Import.py.\n"
|
|
"Setting this to true will result in -f being interpreted as the input file to import "
|
|
"users from. The file MUST be a comma separated CSV file being readable having it's "
|
|
"defined columns written in the first line.")
|
|
args = argparser.parse_args()
|
|
|
|
CONF_FILE = args.config
|
|
config = configparser.ConfigParser()
|
|
config.read(CONF_FILE)
|
|
logging.basicConfig(format="%(asctime)s: %(message)s",
|
|
level=int(config['LOG_LEVEL']['log_level'])
|
|
)
|
|
del cwd
|
|
REG_FILE = config['DEFAULT']['applications_db']
|