def METHOD_NAME():
    # args and usage
    parser = argparse.ArgumentParser()
    # fmt: off
    parser.add_argument(
        "--location",
        action="store",
        type=str,
        default=None,
        help="location(s) (ex: all; any of hhs1-10)"
    )
    parser.add_argument(
        "--first",
        "-f",
        default=None,
        type=int,
        help="first epiweek override"
    )
    parser.add_argument(
        "--last",
        "-l",
        default=None,
        type=int,
        help="last epiweek override"
    )
    parser.add_argument(
        "--force_update",
        "-u",
        action="store_true",
        help="force update db values"
    )
    parser.add_argument(
        "--skip_email",
        "-s",
        action="store_true",
        help="skip email downloading step"
    )
    # fmt: on
    args = parser.parse_args()
    # sanity check
    first, last, force_update, skip_email = (
        args.first,
        args.last,
        args.force_update,
        args.skip_email,
    )
    load_email = not skip_email
    if first is not None:
        flu.check_epiweek(first)
    if last is not None:
        flu.check_epiweek(last)
    if first is not None and last is not None and first > last:
        raise Exception("epiweeks in the wrong order")
    # decide what to update
    if args.location.lower() == "all":
        locations = LOCATIONS
    else:
        locations = args.location.lower().split(",")
    # run the update
    update(locations, first, last, force_update, load_email)