https://github.com/jsem-nerad/strava-cz-python
  
  
    High level API pro interakci s webovou aplikaci Strava.cz udelane v Pythonu 
    https://github.com/jsem-nerad/strava-cz-python
  
api czech python python-3 python3 requests requests-library-python web-scraper web-scraping web-scraping-python webscraper webscraping
        Last synced: 17 days ago 
        JSON representation
    
High level API pro interakci s webovou aplikaci Strava.cz udelane v Pythonu
- Host: GitHub
- URL: https://github.com/jsem-nerad/strava-cz-python
- Owner: jsem-nerad
- License: gpl-3.0
- Created: 2025-09-13T09:24:58.000Z (about 2 months ago)
- Default Branch: main
- Last Pushed: 2025-10-05T09:12:06.000Z (26 days ago)
- Last Synced: 2025-10-05T11:30:11.404Z (26 days ago)
- Topics: api, czech, python, python-3, python3, requests, requests-library-python, web-scraper, web-scraping, web-scraping-python, webscraper, webscraping
- Language: Python
- Homepage: https://pypi.org/project/strava-cz/
- Size: 72.3 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
- 
            Metadata Files:
            - Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
 
Awesome Lists containing this project
README
          # Strava.cz Python API
High level API pro interakci s webovou aplikaci Strava.cz udelane v Pythonu ciste pomoci request knihovny.
Ve slozce [notes](https://github.com/jsem-nerad/strava-cz-python/tree/main/notes) muzete najit veskere moje poznatky, ktere jsem zjistil o internim fungovani aplikace Strava.cz.
## Features
- Prihlaseni/odhlaseni
- Vypsani prefiltrovaneho jidelnicku 
- Objednavani jidel podle ID jidla
## Usage
```bash
pip install strava-cz
```
```python
from strava_cz import StravaCZ
# Vytvoreni objektu strava a prihlaseni uzivatele
strava = StravaCZ(
    username="your.username", 
    password="YourPassword123", 
    canteen_number="your canteen number"
    )
# Vypsani informaci o uzivateli
print(strava.user)
# Ziskani jidelnicku; ulozi list do strava.menu
print(strava.get_menu())
# Zjisti, jestli je jidlo s meal_id 4 objednano (True/False)
print(strava.is_ordered(4))
# Objedna jidla s meal_id 3 a 6
strava.order_meals(3, 6)
# Odhlasi uzivatele
strava.logout()
```
> meal_id je unikatni identifikacni cislo jidla v celem jidelnicku. neni ovsem stale vazane na konkretni jidlo a meni se se zmenami jidelnicku
| funkce              | parametry                                                 | return type | popis                                                                                                              |
|---------------------|-----------------------------------------------------------|-------------|--------------------------------------------------------------------------------------------------------------------|
| `__init__()` (=`StravaCZ()`)        | username=None, password=None, canteen_number=None         | None        | Inicializuje objekt StravaCZ a automaticky prihlasi uzivatele, pokud jsou vyplnene parametry username a password   |
| `login()`           | username [str], password [str], canteen_number=None [str] | User        | Prihlasi uzivatele pomoci uzivatelskeho jmena a hesla; pokud neni vyplnene cislo jidelny, automaticky pouzije 3753 |
| `get_menu()` | None                                                      | list        | Vrati jidelnicek jako seznam podle dni; zaroven ho ulozi do promenne menu                        |
| `print_menu()`          | include_soup [bool], include_empty [bool]             | None        | Vypise zformatovane menu         |
| `is_ordered()`      | meal_id [int]                                             | bool        | Zjisti, jestli je dane jidlo objednano        |
| `order_meals()`     | *meal_ids [int]                                           | None        | Objedna vice jidel podle meal_id                                                                                   |
| `logout()`          | None                                                      | bool        | Odhlasi uzivatele                                                                                                  |
## to-do
- [x] Nahrat jako knihovnu na PyPi
- [x] Lepe zorganizovat kod
- [x] Lepsi datum format
- [x] Moznost detailnejsi filtrace jidelnicku
- [ ] Lepe zdokumentovat pouziti
- [ ] Rate limiting
- [ ] Balance check pred objednanim
- [ ] Kontrola stavu po objednani
- [ ] Filtrace dnu, ktere nejdou objednat
## 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?
Planuji udelat aplikaci, ktera bude uzivateli automaticky objednavat obedy podle jeho preferenci.
Prosim, nepouzivejte tuto aplikaci k nekalym ucelum. Pouzivejte ji pouze s dobrymi zamery.
## Pomoz mi pls
Nasel jsi chybu nebo mas navrh na zlepseni? Skvele! Vytvor prosim [bug report](https://github.com/jsem-nerad/strava-cz-python/issues/new?labels=bug) nebo [feature request](https://github.com/jsem-nerad/strava-cz-python/issues/new?labels=enhancement), hodne mi tim muzes pomoct.
Udelal jsi sam nejake zlepseni? Jeste lepsi! Kazdy pull request je vitan.