# -*- coding: utf-8 -*- import sys import os import logging import logging.config from media.monitor.log import get_logger, setup_logging from std_err_override import LogWriter from media.saas.launcher import setup_global, launch_instance from media.saas.airtimeinstance import AirtimeInstance from media.monitor.config import MMConfig def setup_logger(log_config, logpath): logging.config.fileConfig(log_config) #need to wait for Python 2.7 for this.. #logging.captureWarnings(True) logger = logging.getLogger() LogWriter.override_std_err(logger) logfile = unicode(logpath) setup_logging(logfile) log = get_logger() return log def main(global_config, api_client_config, log_config): """ function to run hosted install """ mm_config = MMConfig(global_config) log = setup_logger( log_config, mm_config['logpath'] ) setup_global(log) launch_instance('hosted_install', '/', global_config, api_client_config, log_config) __doc__ = """ Usage: mm2.py --config=<path> --apiclient=<path> --log=<path> Options: -h --help Show this screen --config=<path> path to mm2 config --apiclient=<path> path to apiclient config --log=<path> log config at <path> """ if __name__ == '__main__': from docopt import docopt args = docopt(__doc__,version="mm1.99") for k in ['--apiclient','--config','--log']: if not os.path.exists(args[k]): print("'%s' must exist" % args[k]) sys.exit(0) print("Running mm1.99") main(args['--config'],args['--apiclient'],args['--log'])