Exemplo n.º 1
0
def test_timestamp_assertions():
    """Test that timestamps adhere to the format we think they should."""

    def test_one(ts):
        # Helper function to test one timestamp. Returns 1 to increment
        # `num_parsed_ok`.
        try:
            parse_timestamp(ts)
            return 1
        except ValueError as e:
            print(e)
            return 0

    menus = menu._get_local_menu_data_json()["menus"]
    total_parsed = 0  # The number of timestamps tested.
    num_parsed_ok = 0  # The number of timestamps that parsed ok.
    for menu in menus:
        total_parsed += 1
        num_parsed_ok += test_one(menu["date"])
        total_parsed += 1
        num_parsed_ok += test_one(menu["updated_at"])
        if "created_at" in menu:
            total_parsed += 1
            num_parsed_ok += test_one(menu["created_at"])
    if num_parsed_ok == total_parsed:
        print("All %s timestamps parsed as expected." % total_parsed)
    else:
        print("%s of %s timestamps parsed as expected." % (num_parsed_ok, total_parsed))
Exemplo n.º 2
0
def get_all_items():
    """A convenience method to quickly get a list of all item JSON objects."""
    menus = menu._get_local_menu_data_json()["menus"]
    all_items = []
    for m in menus:
        all_items.extend(m["items"])
    return all_items
Exemplo n.º 3
0
def test_one_menu_per_day():
    """Check if there's ever been multiple menus on a single date."""
    menus = menu._get_local_menu_data_json()["menus"]
    get_menu_date = lambda menu: parse_timestamp(menu["date"]).date()
    menu_dates = sorted(map(get_menu_date, menus))

    one_menu_per_day = True
    prev_date = menu_dates[0]
    for date in menu_dates[1:]:
        if date == prev_date:
            print("An extra menu was found for", date.strftime("%c"))
            one_menu_per_day = False
        prev_date = date

    if one_menu_per_day:
        print("No date with multiple menus found.")
Exemplo n.º 4
0
def find_menu_keys():
    find_dict_keys(menu._get_local_menu_data_json()["menus"])