events/code_coverage_events/cli.py (37 lines of code) (raw):

# -*- coding: utf-8 -*- import argparse import os import structlog from code_coverage_events import taskcluster_config from code_coverage_events.workflow import Events from code_coverage_tools.log import init_logger logger = structlog.get_logger(__name__) def parse_cli(): """ Setup CLI options parser """ parser = argparse.ArgumentParser(description="Mozilla Code Review Bot") parser.add_argument( "--taskcluster-secret", help="Taskcluster Secret path", default=os.environ.get("TASKCLUSTER_SECRET"), ) parser.add_argument("--taskcluster-client-id", help="Taskcluster Client ID") parser.add_argument("--taskcluster-access-token", help="Taskcluster Access token") return parser.parse_args() def main(): args = parse_cli() taskcluster_config.auth(args.taskcluster_client_id, args.taskcluster_access_token) taskcluster_config.load_secrets( args.taskcluster_secret, prefixes=["common", "events"], required=("pulse_user", "pulse_password", "hook_id", "hook_group_id"), existing=dict(admins=["babadie@mozilla.com", "mcastelluccio@mozilla.com"]), ) init_logger( "events", channel=taskcluster_config.secrets.get("APP_CHANNEL", "dev"), PAPERTRAIL_HOST=taskcluster_config.secrets.get("PAPERTRAIL_HOST"), PAPERTRAIL_PORT=taskcluster_config.secrets.get("PAPERTRAIL_PORT"), SENTRY_DSN=taskcluster_config.secrets.get("SENTRY_DSN"), ) events = Events() events.run() if __name__ == "__main__": main()