def command_line()

in foundation_security_advisories/update_hof.py [0:0]


def command_line():
    parser = argparse.ArgumentParser()
    parser.add_argument("-a", "--apikey", help="Bugzila API key")
    parser.add_argument("-f", "--output", help="YAML file")
    parser.add_argument("-y", "--year", help="year")
    parser.add_argument("-q", "--quarter", help="quarter as digit")
    parser.add_argument("-w", "--web", help="Process Web Bugs", action='store_true')
    parser.add_argument("-c", "--client", help="Process Client Bugs", action='store_true')
    parser.add_argument("--sort-credit-entries", help="Do not update Hall of Fame, just sort the credit entries and output them", action='store_true')
    parser.add_argument("--hmac", help="hmac an email address")
    args = parser.parse_args()

    if args.sort_credit_entries:
        print("credit_entries = {")
        for k in sorted(credit_entries):
            print("    \"" + k + "\" : \"" + credit_entries[k].replace("\"", "\\\"") + "\",")
        print("}")

        print("twitter_entries = {")
        for k in sorted(twitter_entries):
            print("    \"" + k + "\" : \"" + twitter_entries[k].replace("\"", "\\\"") + "\",")
        print("}")

        print("url_entries = {")
        for k in sorted(url_entries):
            print("    \"" + k + "\" : \"" + url_entries[k].replace("\"", "\\\"") + "\",")
        print("}")
        sys.exit(0)
    elif args.hmac and args.apikey:
        print(hmac_email(get_hmac_key(args.apikey), args.hmac))
        sys.exit(0)
    elif args.hmac:
        print("If you request hmac you must also supply --apikey")
        sys.exit(1)
    else:
        if not args.apikey or not args.output or not args.year or not args.quarter:
            parser.print_help()
            sys.exit(1)
        if not args.client and not args.web:
            print("Either --web or --client is required.")
            sys.exit(1)

    return args