strava.cz-api 2.2.2__tar.gz → 2.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {strava_cz_api-2.2.2/strava_cz_api.egg-info → strava_cz_api-2.3}/PKG-INFO +3 -2
- {strava_cz_api-2.2.2 → strava_cz_api-2.3}/README.md +2 -1
- {strava_cz_api-2.2.2 → strava_cz_api-2.3}/pyproject.toml +1 -1
- {strava_cz_api-2.2.2 → strava_cz_api-2.3}/strava_cz_api/action.py +17 -0
- {strava_cz_api-2.2.2 → strava_cz_api-2.3}/strava_cz_api/strava.py +32 -2
- {strava_cz_api-2.2.2 → strava_cz_api-2.3/strava_cz_api.egg-info}/PKG-INFO +3 -2
- {strava_cz_api-2.2.2 → strava_cz_api-2.3}/LICENSE +0 -0
- {strava_cz_api-2.2.2 → strava_cz_api-2.3}/examples/login.py +0 -0
- {strava_cz_api-2.2.2 → strava_cz_api-2.3}/examples/public_jidelnicek.py +0 -0
- {strava_cz_api-2.2.2 → strava_cz_api-2.3}/examples/user_info.py +0 -0
- {strava_cz_api-2.2.2 → strava_cz_api-2.3}/setup.cfg +0 -0
- {strava_cz_api-2.2.2 → strava_cz_api-2.3}/strava_cz_api/__init__.py +0 -0
- {strava_cz_api-2.2.2 → strava_cz_api-2.3}/strava_cz_api.egg-info/SOURCES.txt +0 -0
- {strava_cz_api-2.2.2 → strava_cz_api-2.3}/strava_cz_api.egg-info/dependency_links.txt +0 -0
- {strava_cz_api-2.2.2 → strava_cz_api-2.3}/strava_cz_api.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: strava-cz-api
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.3
|
|
4
4
|
Summary: Rest API for strava.cz.
|
|
5
5
|
Author-email: Matěj Adamec <kralyk@kralyk.dev>
|
|
6
6
|
Requires-Python: >=3.8
|
|
@@ -60,7 +60,7 @@ api = Api(
|
|
|
60
60
|
| --- | --- | --- |
|
|
61
61
|
| `getJidelnicekToday()` | Dnešní jídelníček | Vrací list (`table0`) |
|
|
62
62
|
| `getJidelnicekAll()` | Kompletní jídelníček
|
|
63
|
-
| `getInfo()` | Informace o uživateli
|
|
63
|
+
| `getInfo()` | Informace o uživateli | Upravený payload. Nenačítá nové cookies. Může trvat dlouho (2 - 3 s)
|
|
64
64
|
| `getUsername()` | Uživatelské jméno | Vytahuje z `getInfo()` |
|
|
65
65
|
| `getJidelna()` | Informace o jídelně
|
|
66
66
|
| `getHistorieKlienta(date)` | Historie objednávek za měsíc | `date` = první den měsíce (např. `2025-01-01`) |
|
|
@@ -71,6 +71,7 @@ api = Api(
|
|
|
71
71
|
| `postJidlo(veta, stav)` | Přihlásit/odhlásit jídlo | `stav`: 1 přihlásit, 0 odhlásit |
|
|
72
72
|
| `postDen(datum, stav)` | Přihlásit/odhlásit celý den | `datum` ve formátu `YYYY-MM-DD` |
|
|
73
73
|
| `postOrders()` | Uložit změny objednávek | Nutné po `postJidlo`/`postDen` |
|
|
74
|
+
| `resetChanges()` | Resetuje neuložené změny v komunikaci. | Dobré pro zrušení změn pří objednávkách
|
|
74
75
|
|
|
75
76
|
## Objednávky – správný postup
|
|
76
77
|
Změny objednávek se ukládají ve dvou krocích:
|
|
@@ -50,7 +50,7 @@ api = Api(
|
|
|
50
50
|
| --- | --- | --- |
|
|
51
51
|
| `getJidelnicekToday()` | Dnešní jídelníček | Vrací list (`table0`) |
|
|
52
52
|
| `getJidelnicekAll()` | Kompletní jídelníček
|
|
53
|
-
| `getInfo()` | Informace o uživateli
|
|
53
|
+
| `getInfo()` | Informace o uživateli | Upravený payload. Nenačítá nové cookies. Může trvat dlouho (2 - 3 s)
|
|
54
54
|
| `getUsername()` | Uživatelské jméno | Vytahuje z `getInfo()` |
|
|
55
55
|
| `getJidelna()` | Informace o jídelně
|
|
56
56
|
| `getHistorieKlienta(date)` | Historie objednávek za měsíc | `date` = první den měsíce (např. `2025-01-01`) |
|
|
@@ -61,6 +61,7 @@ api = Api(
|
|
|
61
61
|
| `postJidlo(veta, stav)` | Přihlásit/odhlásit jídlo | `stav`: 1 přihlásit, 0 odhlásit |
|
|
62
62
|
| `postDen(datum, stav)` | Přihlásit/odhlásit celý den | `datum` ve formátu `YYYY-MM-DD` |
|
|
63
63
|
| `postOrders()` | Uložit změny objednávek | Nutné po `postJidlo`/`postDen` |
|
|
64
|
+
| `resetChanges()` | Resetuje neuložené změny v komunikaci. | Dobré pro zrušení změn pří objednávkách
|
|
64
65
|
|
|
65
66
|
## Objednávky – správný postup
|
|
66
67
|
Změny objednávek se ukládají ve dvou krocích:
|
|
@@ -75,4 +75,21 @@ class Post:
|
|
|
75
75
|
return new_cookie, data
|
|
76
76
|
|
|
77
77
|
|
|
78
|
+
class ResetChanges:
|
|
79
|
+
@staticmethod
|
|
80
|
+
def call(url, payload, cookie, headers=None):
|
|
81
|
+
if headers is None:
|
|
82
|
+
headers = {
|
|
83
|
+
"Content-Type": "text/plain;charset=UTF-8",
|
|
84
|
+
"Cookie": cookie,
|
|
85
|
+
"Referer": "https://app.strava.cz/"
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
response = requests.post(url, headers=headers, json=payload)
|
|
89
|
+
data = response.json()
|
|
90
|
+
|
|
91
|
+
raise_api_error(data)
|
|
92
|
+
|
|
93
|
+
new_cookie = response.cookies.get_dict()
|
|
78
94
|
|
|
95
|
+
return new_cookie
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import requests
|
|
2
2
|
import json
|
|
3
|
-
from .action import Get, Post
|
|
3
|
+
from .action import Get, Post, ResetCookie
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
class Api:
|
|
@@ -57,7 +57,7 @@ class Api:
|
|
|
57
57
|
"lang": self.lang,
|
|
58
58
|
"getText": True,
|
|
59
59
|
"checkVersion": True,
|
|
60
|
-
"resetTables" :
|
|
60
|
+
"resetTables" : False,
|
|
61
61
|
"frontendFunction": "refreshInformations"
|
|
62
62
|
}
|
|
63
63
|
|
|
@@ -172,6 +172,7 @@ class Api:
|
|
|
172
172
|
|
|
173
173
|
return Get.call(url, payload)
|
|
174
174
|
|
|
175
|
+
|
|
175
176
|
def getVydej(self):
|
|
176
177
|
"""
|
|
177
178
|
Vrátí list vydaných jídel.
|
|
@@ -261,7 +262,29 @@ class Api:
|
|
|
261
262
|
return self.cookie
|
|
262
263
|
|
|
263
264
|
|
|
265
|
+
def resetChanges(self):
|
|
266
|
+
"""
|
|
267
|
+
Resetuje neuložené změny v komunikaci. Může trvat dlouho!
|
|
268
|
+
"""
|
|
269
|
+
url = f"{self.base}/nactiVlastnostiPA"
|
|
270
|
+
|
|
271
|
+
payload = {
|
|
272
|
+
"sid": self.sid,
|
|
273
|
+
"url": self.s5url,
|
|
274
|
+
"cislo": self.cislo_jidelny,
|
|
275
|
+
"ignoreCert": "false",
|
|
276
|
+
"lang": self.lang,
|
|
277
|
+
"getText": True,
|
|
278
|
+
"checkVersion": True,
|
|
279
|
+
"resetTables" : True,
|
|
280
|
+
"frontendFunction": "refreshInformations"
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
return ResetChanges.call(url, payload, self.cookie)
|
|
284
|
+
|
|
285
|
+
|
|
264
286
|
class Public:
|
|
287
|
+
@staticmethod
|
|
265
288
|
def getJidelnicek(cislo_jidelny, lang):
|
|
266
289
|
"""
|
|
267
290
|
Získání public jídelníčků.
|
|
@@ -280,6 +303,7 @@ class Public:
|
|
|
280
303
|
|
|
281
304
|
return Get.call(url, payload)
|
|
282
305
|
|
|
306
|
+
@staticmethod
|
|
283
307
|
def getJidelna(cislo_jidelny):
|
|
284
308
|
"""
|
|
285
309
|
Vrátí informaci o jídelně.
|
|
@@ -293,6 +317,8 @@ class Public:
|
|
|
293
317
|
|
|
294
318
|
return Get.call(url, payload)
|
|
295
319
|
|
|
320
|
+
|
|
321
|
+
@staticmethod
|
|
296
322
|
def getS5url(cislo_jidelny):
|
|
297
323
|
"""
|
|
298
324
|
Pomocná metoda co vratí url jídelny.
|
|
@@ -300,6 +326,7 @@ class Public:
|
|
|
300
326
|
return json.loads(Public.getJidelna(cislo_jidelny)).get("urlwsdl_s")[0]
|
|
301
327
|
|
|
302
328
|
|
|
329
|
+
@staticmethod
|
|
303
330
|
def getJidelny():
|
|
304
331
|
"""
|
|
305
332
|
Vrátí seznam všech jídelen a jejich čísel.
|
|
@@ -314,6 +341,7 @@ class Public:
|
|
|
314
341
|
|
|
315
342
|
|
|
316
343
|
class Auth:
|
|
344
|
+
@staticmethod
|
|
317
345
|
def login(username, password, cislo_jidelny, lang="CZ", zustat_prihlasen=True, cookie="NEXT_LOCALE=cs"):
|
|
318
346
|
"""
|
|
319
347
|
Vrátí data nutná pro další komunikaci.
|
|
@@ -334,6 +362,8 @@ class Auth:
|
|
|
334
362
|
|
|
335
363
|
return Post.call(url, payload, cookie)
|
|
336
364
|
|
|
365
|
+
|
|
366
|
+
@staticmethod
|
|
337
367
|
def getCredentials(data):
|
|
338
368
|
"""
|
|
339
369
|
Vyfiltruje SID a s5url z funkce login
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: strava-cz-api
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.3
|
|
4
4
|
Summary: Rest API for strava.cz.
|
|
5
5
|
Author-email: Matěj Adamec <kralyk@kralyk.dev>
|
|
6
6
|
Requires-Python: >=3.8
|
|
@@ -60,7 +60,7 @@ api = Api(
|
|
|
60
60
|
| --- | --- | --- |
|
|
61
61
|
| `getJidelnicekToday()` | Dnešní jídelníček | Vrací list (`table0`) |
|
|
62
62
|
| `getJidelnicekAll()` | Kompletní jídelníček
|
|
63
|
-
| `getInfo()` | Informace o uživateli
|
|
63
|
+
| `getInfo()` | Informace o uživateli | Upravený payload. Nenačítá nové cookies. Může trvat dlouho (2 - 3 s)
|
|
64
64
|
| `getUsername()` | Uživatelské jméno | Vytahuje z `getInfo()` |
|
|
65
65
|
| `getJidelna()` | Informace o jídelně
|
|
66
66
|
| `getHistorieKlienta(date)` | Historie objednávek za měsíc | `date` = první den měsíce (např. `2025-01-01`) |
|
|
@@ -71,6 +71,7 @@ api = Api(
|
|
|
71
71
|
| `postJidlo(veta, stav)` | Přihlásit/odhlásit jídlo | `stav`: 1 přihlásit, 0 odhlásit |
|
|
72
72
|
| `postDen(datum, stav)` | Přihlásit/odhlásit celý den | `datum` ve formátu `YYYY-MM-DD` |
|
|
73
73
|
| `postOrders()` | Uložit změny objednávek | Nutné po `postJidlo`/`postDen` |
|
|
74
|
+
| `resetChanges()` | Resetuje neuložené změny v komunikaci. | Dobré pro zrušení změn pří objednávkách
|
|
74
75
|
|
|
75
76
|
## Objednávky – správný postup
|
|
76
77
|
Změny objednávek se ukládají ve dvou krocích:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|