From 2577d6fa952d42165b9fce995ca32b6270c716af Mon Sep 17 00:00:00 2001 From: jsem-nerad Date: Tue, 4 Nov 2025 08:40:13 +0100 Subject: [PATCH] Filtrace prazdnych jidel, vcetne svatku a prazdnin --- CHANGELOG.md | 3 +++ README.md | 6 ++---- src/strava_cz/main.py | 5 ++++- tests/test_strava_cz.py | 2 ++ 4 files changed, 11 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c42ce77..341953d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,9 @@ Vsechny vyznamne zmeny v tomto projektu budou dokumentovany v tomto souboru. - `cancel_meals` funkce - Overovani uspesnosti objednani/odhlaseni +### Fixed +- Filtrace prazdnych jidel, vcetne svatku a prazdnin + ### Fixed - Opravene filtrovani prazdnych jidel diff --git a/README.md b/README.md index d1c743e..beb9d92 100644 --- a/README.md +++ b/README.md @@ -64,18 +64,16 @@ strava.logout() - [x] Lepe zorganizovat kod - [x] Lepsi datum format - [x] Moznost detailnejsi filtrace jidelnicku +- [x] Kontrola stavu po objednani - [ ] Lepe zdokumentovat pouziti - [ ] Rate limiting - [ ] Balance check pred objednanim -- [ ] Kontrola stavu po objednani - [ ] Filtrace dnu, ktere nejdou objednat +- [ ] Lepsi testing ## Known bugs -- Procesovani jidelnicku necha projit statni svatek. problem je, ze nazev je sice statni svatek, ale hodnota `druhPopis` obsahuje popis nejakeho jidla - neni prazdna, tudiz si program mysli, ze na tento den nejake jidlo je. list alergenu je ovsem prazdny, takze by byla moznost ridit se ciste podle listu alergenu, ale mohla by nastat situace, ze je nejake realne jidlo bez alergenu a mohlo by se oznacit jako prazdne - - ## Co bude dal? diff --git a/src/strava_cz/main.py b/src/strava_cz/main.py index 0c2c3ad..ac806b5 100644 --- a/src/strava_cz/main.py +++ b/src/strava_cz/main.py @@ -229,7 +229,10 @@ def _parse_menu_response( if not include_empty: has_no_description = not meal["delsiPopis"] and not meal["alergeny"] is_unnamed_meal = meal["nazev"] == meal["druh_popis"] - if has_no_description or is_unnamed_meal: + cant_be_ordered = ( + "CO" in meal["omezeniObj"]["den"] or "VP" in meal["omezeniObj"]["den"] + ) # Hardcoded values for meals that can't be ordered, there may be more + if has_no_description or is_unnamed_meal or cant_be_ordered: continue if not include_soup and meal["druh_popis"] == "Polévka": diff --git a/tests/test_strava_cz.py b/tests/test_strava_cz.py index 2d5582f..4ba6de5 100644 --- a/tests/test_strava_cz.py +++ b/tests/test_strava_cz.py @@ -141,6 +141,7 @@ def test_get_menu(self, mock_Session): "nazev": "Vývar", "zakazaneAlergeny": None, "alergeny": [["01", "brambory"]], + "omezeniObj": {"den": ""}, "pocet": 0, "veta": "75", "cena": "40.00" @@ -153,6 +154,7 @@ def test_get_menu(self, mock_Session): "nazev": "Rajská omáčka s těstovinami", "zakazaneAlergeny": None, "alergeny": [["69", "pavel"]], + "omezeniObj": {"den": ""}, "pocet": 1, "veta": "1", "cena": "40.00"