def main():
    parser = argparse.ArgumentParser(
        formatter_class=argparse.RawDescriptionHelpFormatter, description=__doc__, epilog=_USAGE_EXAMPLES
    )

    subparsers = parser.add_subparsers()

    phlsys_subcommand.setup_parser("gc", barcmd_gc, subparsers)

    args = parser.parse_args()

    return args.func(args)
示例#2
0
def main():
    parser = argparse.ArgumentParser(
        formatter_class=argparse.RawDescriptionHelpFormatter,
        description=__doc__,
        epilog=_USAGE_EXAMPLES)

    subparsers = parser.add_subparsers()

    phlsys_subcommand.setup_parser(
        "gc", barcmd_gc, subparsers)
    phlsys_subcommand.setup_parser(
        "list", barcmd_list, subparsers)

    args = parser.parse_args()

    return args.func(args)
示例#3
0
def main():
    parser = argparse.ArgumentParser(
        formatter_class=argparse.RawDescriptionHelpFormatter,
        description=__doc__,
        epilog=_USAGE_EXAMPLES)

    subparsers = parser.add_subparsers()

    phlsys_subcommand.setup_parser(
        "process-repos", abdcmd_processrepos, subparsers)
    phlsys_subcommand.setup_parser(
        "arcyd-status-html", abdcmd_arcydstatushtml, subparsers)
    phlsys_subcommand.setup_parser(
        "repo-status-html", abdcmd_repostatushtml, subparsers)
    phlsys_subcommand.setup_parser(
        "dev-status-html", abdcmd_devstatushtml, subparsers)
    phlsys_subcommand.setup_parser(
        "instaweb", abdcmd_instaweb, subparsers)

    args = parser.parse_args()

    args.func(args)
def main():
    parser = argparse.ArgumentParser(
        formatter_class=argparse.RawDescriptionHelpFormatter,
        description=__doc__,
        epilog=_USAGE_EXAMPLES)

    subparsers = parser.add_subparsers()

    phlsys_subcommand.setup_parser(
        "show-config", aoncmd_showconfig, subparsers)
    phlsys_subcommand.setup_parser("query", aoncmd_query, subparsers)
    phlsys_subcommand.setup_parser("comment", aoncmd_comment, subparsers)
    phlsys_subcommand.setup_parser(
        "comment-inline", aoncmd_commentinline, subparsers)
    phlsys_subcommand.setup_parser("raw-diff", aoncmd_rawdiff, subparsers)
    phlsys_subcommand.setup_parser(
        "create-revision", aoncmd_createrevision, subparsers)
    phlsys_subcommand.setup_parser(
        "update-revision", aoncmd_updaterevision, subparsers)
    phlsys_subcommand.setup_parser("get-diff", aoncmd_getdiff, subparsers)
    phlsys_subcommand.setup_parser("paste", aoncmd_paste, subparsers)
    phlsys_subcommand.setup_parser(
        "task-create", aoncmd_taskcreate, subparsers)
    phlsys_subcommand.setup_parser(
        "task-update", aoncmd_taskupdate, subparsers)
    phlsys_subcommand.setup_parser(
        "task-query", aoncmd_taskquery, subparsers)

    phlsys_subcommand.setup_parser(
        "git-diff-helper", aoncmd_gitdiffhelper, subparsers)

    args = parser.parse_args()

    try:
        return args.func(args)
    except phlsys_makeconduit.InsufficientInfoException as e:
        print("ERROR - insufficient information")
        print(e)
        print()
        print("N.B. you may also specify uri, user or cert directly like so:")
        print("  --uri URI           address of phabricator instance")
        print("  --user USERNAME     username of user to connect as")
        print("  --cert CERTIFICATE  certificate for user Phabrictor account")
        return 1
def main():
    parser = argparse.ArgumentParser(
        formatter_class=argparse.RawDescriptionHelpFormatter,
        description=__doc__,
        epilog=_USAGE_EXAMPLES)

    subparsers = parser.add_subparsers()

    phlsys_subcommand.setup_parser("init", abdcmd_init, subparsers)
    phlsys_subcommand.setup_parser("list-repos", abdcmd_listrepos, subparsers)
    phlsys_subcommand.setup_parser("add-phabricator", abdcmd_addphabricator,
                                   subparsers)
    phlsys_subcommand.setup_parser("add-repohost", abdcmd_addrepohost,
                                   subparsers)
    phlsys_subcommand.setup_parser("add-repo", abdcmd_addrepo, subparsers)
    phlsys_subcommand.setup_parser("rm-repo", abdcmd_rmrepo, subparsers)
    phlsys_subcommand.setup_parser("start", abdcmd_start, subparsers)
    phlsys_subcommand.setup_parser("stop", abdcmd_stop, subparsers)
    phlsys_subcommand.setup_parser("restart", abdcmd_restart, subparsers)
    phlsys_subcommand.setup_parser("reload", abdcmd_reload, subparsers)
    phlsys_subcommand.setup_parser("fsck", abdcmd_fsck, subparsers)
    phlsys_subcommand.setup_parser("fetch", abdcmd_fetch, subparsers)

    args = parser.parse_args()

    return args.func(args)
def main():
    parser = argparse.ArgumentParser(
        formatter_class=argparse.RawDescriptionHelpFormatter,
        description=__doc__,
        epilog=_USAGE_EXAMPLES)

    parser.add_argument(
        '--sys-admin-emails',
        metavar="EMAIL",
        nargs="+",
        type=str,
        required=True,
        help="email addresses to send important system events to")

    parser.add_argument(
        '--sendmail-binary',
        metavar="PROGRAM",
        type=str,
        default="sendmail",
        required=True,
        help="program to send the mail with (e.g. sendmail, catchmail)")

    parser.add_argument(
        '--sendmail-type',
        metavar="TYPE",
        type=str,
        default="sendmail",
        required=True,
        help="type of program to send the mail with (sendmail, catchmail), "
        "this will affect the parameters that Arycd will use.")

    subparsers = parser.add_subparsers()

    phlsys_subcommand.setup_parser("single", abdcmd_single, subparsers)
    phlsys_subcommand.setup_parser("multi", abdcmd_multi, subparsers)

    args = parser.parse_args()

    uname = str(platform.uname())

    if args.sendmail_binary:
        phlsys_sendmail.Sendmail.set_default_binary(
            args.sendmail_binary)

    if args.sendmail_type:
        phlsys_sendmail.Sendmail.set_default_params_from_type(
            args.sendmail_type)

    mailsender = phlmail_sender.MailSender(
        phlsys_sendmail.Sendmail(),
        "arcyd@" + platform.node())

    # exit if we're stopped by SIGTERM
    def HandleSigterm(unused1, unused2):
        # raises 'SystemExit' exception, which will allow us to clean up
        sys.exit(1)
    signal.signal(signal.SIGTERM, HandleSigterm)

    strToTime = phlsys_strtotime.duration_string_to_time_delta
    retry_delays = [strToTime(d) for d in ["10 minutes", "1 hours"]]

    emails = args.sys_admin_emails

    def msgException(delay):
        message = uname + "\n" + traceback.format_exc()
        message += "\nwill wait:" + str(delay)
        print message
        mailsender.send(
            subject="arcyd paused with exception",
            message=message,
            to_addresses=emails)

    try:
        args.func(args, retry_delays, msgException)
    except:
        message = uname + "\n" + traceback.format_exc()
        print message
        mailsender.send(
            subject="arcyd stopped with exception",
            message=message,
            to_addresses=emails)
        sys.exit(1)

    mailsender.send(
        subject="arcyd stopped",
        message="",
        to_addresses=args.sys_admin_emails)
def main():
    parser = argparse.ArgumentParser(
        formatter_class=argparse.RawDescriptionHelpFormatter,
        description=__doc__,
        epilog=_USAGE_EXAMPLES)

    subparsers = parser.add_subparsers()

    phlsys_subcommand.setup_parser(
        "arcyd-status-html", abdcmd_arcydstatushtml, subparsers)
    phlsys_subcommand.setup_parser(
        "repo-status-html", abdcmd_repostatushtml, subparsers)
    phlsys_subcommand.setup_parser(
        "dev-status-html", abdcmd_devstatushtml, subparsers)
    phlsys_subcommand.setup_parser(
        "instaweb", abdcmd_instaweb, subparsers)
    phlsys_subcommand.setup_parser(
        "init", abdcmd_init, subparsers)
    phlsys_subcommand.setup_parser(
        "add-phabricator", abdcmd_addphabricator, subparsers)
    phlsys_subcommand.setup_parser(
        "add-repohost", abdcmd_addrepohost, subparsers)
    phlsys_subcommand.setup_parser(
        "add-repo", abdcmd_addrepo, subparsers)
    phlsys_subcommand.setup_parser(
        "start", abdcmd_start, subparsers)
    phlsys_subcommand.setup_parser(
        "stop", abdcmd_stop, subparsers)
    phlsys_subcommand.setup_parser(
        "fsck", abdcmd_fsck, subparsers)

    args = parser.parse_args()

    return args.func(args)
def main():
    parser = argparse.ArgumentParser(
        formatter_class=argparse.RawDescriptionHelpFormatter,
        description=__doc__,
        epilog=_USAGE_EXAMPLES)

    subparsers = parser.add_subparsers()

    phlsys_subcommand.setup_parser("show-config", aoncmd_showconfig,
                                   subparsers)
    phlsys_subcommand.setup_parser("query", aoncmd_query, subparsers)
    phlsys_subcommand.setup_parser("comment", aoncmd_comment, subparsers)
    phlsys_subcommand.setup_parser("comment-inline", aoncmd_commentinline,
                                   subparsers)
    phlsys_subcommand.setup_parser("raw-diff", aoncmd_rawdiff, subparsers)
    phlsys_subcommand.setup_parser("create-revision", aoncmd_createrevision,
                                   subparsers)
    phlsys_subcommand.setup_parser("update-revision", aoncmd_updaterevision,
                                   subparsers)
    phlsys_subcommand.setup_parser("get-diff", aoncmd_getdiff, subparsers)
    phlsys_subcommand.setup_parser("paste", aoncmd_paste, subparsers)
    phlsys_subcommand.setup_parser("task-create", aoncmd_taskcreate,
                                   subparsers)
    phlsys_subcommand.setup_parser("task-update", aoncmd_taskupdate,
                                   subparsers)
    phlsys_subcommand.setup_parser("task-query", aoncmd_taskquery, subparsers)

    phlsys_subcommand.setup_parser("git-diff-helper", aoncmd_gitdiffhelper,
                                   subparsers)

    args = parser.parse_args()

    try:
        return args.func(args)
    except phlsys_conduit.ConduitException as e:

        # pychecker won't let us pass 'e' in as a keyword argument, so we
        # address it as parameter 0 instead
        fmt = ("ERROR ({0.error}): "
               "Phabricator {0.method} could not perform request:\n"
               "{0.errormsg}")
        message = fmt.format(e)

        print(message)
        print()
        return 1
    except phlsys_makeconduit.InsufficientInfoException as e:
        print("ERROR - insufficient information")
        print(e)
        print()
        print("N.B. you may also specify uri, user or cert directly like so:")
        print("  --uri URI           address of phabricator instance")
        print("  --user USERNAME     username of user to connect as")
        print("  --cert CERTIFICATE  certificate for user Phabrictor account")
        return 1
示例#9
0
def main():
    parser = argparse.ArgumentParser(
        formatter_class=argparse.RawDescriptionHelpFormatter,
        description=__doc__,
        epilog=_USAGE_EXAMPLES)

    subparsers = parser.add_subparsers()

    phlsys_subcommand.setup_parser(
        "init", abdcmd_init, subparsers)
    phlsys_subcommand.setup_parser(
        "list-repos", abdcmd_listrepos, subparsers)
    phlsys_subcommand.setup_parser(
        "add-phabricator", abdcmd_addphabricator, subparsers)
    phlsys_subcommand.setup_parser(
        "add-repohost", abdcmd_addrepohost, subparsers)
    phlsys_subcommand.setup_parser(
        "add-repo", abdcmd_addrepo, subparsers)
    phlsys_subcommand.setup_parser(
        "rm-repo", abdcmd_rmrepo, subparsers)
    phlsys_subcommand.setup_parser(
        "start", abdcmd_start, subparsers)
    phlsys_subcommand.setup_parser(
        "stop", abdcmd_stop, subparsers)
    phlsys_subcommand.setup_parser(
        "restart", abdcmd_restart, subparsers)
    phlsys_subcommand.setup_parser(
        "reload", abdcmd_reload, subparsers)
    phlsys_subcommand.setup_parser(
        "fsck", abdcmd_fsck, subparsers)
    phlsys_subcommand.setup_parser(
        "fetch", abdcmd_fetch, subparsers)

    args = parser.parse_args()

    return args.func(args)
示例#10
0
def main():
    parser = argparse.ArgumentParser(
        formatter_class=argparse.RawDescriptionHelpFormatter,
        description=__doc__,
        epilog=_USAGE_EXAMPLES)

    subparsers = parser.add_subparsers()

    phlsys_subcommand.setup_parser(
        "show-config", aoncmd_showconfig, subparsers)
    phlsys_subcommand.setup_parser("query", aoncmd_query, subparsers)
    phlsys_subcommand.setup_parser("comment", aoncmd_comment, subparsers)
    phlsys_subcommand.setup_parser(
        "comment-inline", aoncmd_commentinline, subparsers)
    phlsys_subcommand.setup_parser("raw-diff", aoncmd_rawdiff, subparsers)
    phlsys_subcommand.setup_parser(
        "create-revision", aoncmd_createrevision, subparsers)
    phlsys_subcommand.setup_parser(
        "update-revision", aoncmd_updaterevision, subparsers)
    phlsys_subcommand.setup_parser("get-diff", aoncmd_getdiff, subparsers)
    phlsys_subcommand.setup_parser("paste", aoncmd_paste, subparsers)
    phlsys_subcommand.setup_parser(
        "task-create", aoncmd_taskcreate, subparsers)
    phlsys_subcommand.setup_parser(
        "task-update", aoncmd_taskupdate, subparsers)
    phlsys_subcommand.setup_parser(
        "task-query", aoncmd_taskquery, subparsers)

    phlsys_subcommand.setup_parser(
        "git-diff-helper", aoncmd_gitdiffhelper, subparsers)

    args = parser.parse_args()

    try:
        return args.func(args)
    except phlsys_conduit.ConduitException as e:

        # pychecker won't let us pass 'e' in as a keyword argument, so we
        # address it as parameter 0 instead
        fmt = (
            "ERROR ({0.error}): "
            "Phabricator {0.method} could not perform request:\n"
            "{0.errormsg}"
        )
        message = fmt.format(e)

        print(message)
        print()
        return 1
    except phlsys_makeconduit.InsufficientInfoException as e:
        print("ERROR - insufficient information")
        print(e)
        print()
        print("N.B. you may also specify uri, user or cert directly like so:")
        print("  --uri URI           address of phabricator instance")
        print("  --user USERNAME     username of user to connect as")
        print("  --cert CERTIFICATE  certificate for user Phabrictor account")
        return 1