<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def main_(*, config: 'c' = 'config.yml', debug: 'd' = False, extra: ('e', str, parameters.multi()) = None, optimistic = False, quiet: 'q' = False, vim_is_fucking_retarded: Parameter.UNDOCUMENTED = False):
 """ Run cms7. config: Path to project configuration debug: Print obnoxious debugging output extra: Path to additional configuration (e.g. site local overrides). Can be specified multiple times. Later configurations override. optimistic: Try to continue processing after rendering errors quiet: Only ever print warnings """


    rl = logging.getLogger()
    h = logging.StreamHandler()
    try:
        if not sys.stdin.isatty():
            raise Exception
        import colorlog
        h.setFormatter(colorlog.ColoredFormatter(
            "%(log_color)s%(levelname)-8s%(reset)s %(message_log_color)s%(name)s:%(message)s",
            secondary_log_colors={
                'message': {
                    'WARNING':  'yellow',
                    'ERROR':    'red',
                    'CRITICAL': 'red',
                }
            }))
    except:
        h.setFormatter(logging.Formatter(
            "%(levelname)-8s %(name)s:%(message)s"))
    rl.addHandler(h)

    if vim_is_fucking_retarded:
        report_error.quiet = False

    if debug:
        rl.setLevel(logging.DEBUG)
    elif quiet:
        if vim_is_fucking_retarded:
            rl.setLevel(logging.CRITICAL + 1)
        else:
            rl.setLevel(logging.WARNING)
    else:
        rl.setLevel(logging.INFO)

    try:
        cfg = _config.load(config, *extra)
        if optimistic:
            cfg.optimistic = True
        gen = Generator(cfg)
        for m in cfg.modules():
            m.prepare()
        for m in cfg.modules():
            m.run(gen)
        gen.run()
        for r in cfg.resources:
            r.run()
    except CMS7Error as e:
        logger.critical('%s', e.message, exc_info=debug)
        if not debug:
            logger.warning('exiting for exception. use --debug to get a traceback')
        sys.exit(1)
    except Exception:
        logger.critical('unexpected exception', exc_info=True)
        sys.exit(1)