def check_hof_data()

in bedrock/security/utils.py [0:0]


def check_hof_data(data):
    """Check the HOF Data and raise ValueError if there's a problem."""
    if not data:
        raise ValueError("HOF Data is empty")

    if "names" not in data:
        raise ValueError("Missing required key: names")

    if len(data["names"]) < 100:
        raise ValueError("Suspiciously few names returned. File may be corrupted.")

    for name in data["names"]:
        if "name" not in name:
            raise ValueError('Key "name" required for every entry in "names"')
        if "date" not in name:
            raise ValueError('Key "date" required for every entry in "names"')
        if not isinstance(name["date"], date):
            raise ValueError(f'Key "date" should be formatted as a date (YYYY-MM-DD): {name["date"]}')
        if name["date"] < date(2004, 11, 9):
            raise ValueError("A date can't be set before the launch date of Firefox")