koleo-cli 0.2.137.23__py3-none-any.whl → 0.2.137.23.3__py3-none-any.whl
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.
Potentially problematic release.
This version of koleo-cli might be problematic. Click here for more details.
- koleo/args.py +5 -3
- koleo/cli/__init__.py +0 -1
- koleo/cli/base.py +7 -3
- koleo/cli/connections.py +1 -1
- koleo/cli/train_info.py +1 -1
- koleo/storage.py +1 -1
- koleo/utils.py +2 -1
- {koleo_cli-0.2.137.23.dist-info → koleo_cli-0.2.137.23.3.dist-info}/METADATA +1 -1
- koleo_cli-0.2.137.23.3.dist-info/RECORD +26 -0
- koleo_cli-0.2.137.23.dist-info/RECORD +0 -26
- {koleo_cli-0.2.137.23.dist-info → koleo_cli-0.2.137.23.3.dist-info}/WHEEL +0 -0
- {koleo_cli-0.2.137.23.dist-info → koleo_cli-0.2.137.23.3.dist-info}/entry_points.txt +0 -0
- {koleo_cli-0.2.137.23.dist-info → koleo_cli-0.2.137.23.3.dist-info}/licenses/LICENSE +0 -0
- {koleo_cli-0.2.137.23.dist-info → koleo_cli-0.2.137.23.3.dist-info}/top_level.txt +0 -0
koleo/args.py
CHANGED
|
@@ -280,12 +280,14 @@ def main():
|
|
|
280
280
|
async def run_view(func, *args, **kwargs):
|
|
281
281
|
res = func(*args, **kwargs)
|
|
282
282
|
if isawaitable(res):
|
|
283
|
-
|
|
283
|
+
try:
|
|
284
|
+
await res
|
|
285
|
+
except SystemExit:
|
|
286
|
+
...
|
|
284
287
|
await client.close()
|
|
285
288
|
|
|
286
289
|
cli.client, cli.storage = client, storage
|
|
287
|
-
cli.
|
|
288
|
-
cli.no_color = args.nocolor
|
|
290
|
+
cli.init_console(args.nocolor)
|
|
289
291
|
if hasattr(args, "station") and args.station is None:
|
|
290
292
|
args.station = storage.favourite_station
|
|
291
293
|
elif hasattr(args, "station") and getattr(args, "save", False):
|
koleo/cli/__init__.py
CHANGED
koleo/cli/base.py
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import re
|
|
2
2
|
|
|
3
|
-
from rich.console import Console
|
|
4
|
-
|
|
5
3
|
from koleo.api import KoleoAPI
|
|
6
4
|
from koleo.api.types import ExtendedStationInfo, TrainOnStationInfo, TrainStop
|
|
7
5
|
from koleo.storage import Storage
|
|
@@ -18,7 +16,13 @@ class BaseCli:
|
|
|
18
16
|
self._client = client
|
|
19
17
|
self._storage = storage
|
|
20
18
|
self.no_color = no_color
|
|
21
|
-
|
|
19
|
+
|
|
20
|
+
def init_console(self, no_color: bool | None = None):
|
|
21
|
+
if no_color is not None:
|
|
22
|
+
self.no_color = no_color
|
|
23
|
+
if not self.no_color:
|
|
24
|
+
from rich.console import Console
|
|
25
|
+
self.console = Console(color_system="standard", highlight=False)
|
|
22
26
|
|
|
23
27
|
def print(self, text: str, *args, **kwargs):
|
|
24
28
|
if not text.strip():
|
koleo/cli/connections.py
CHANGED
|
@@ -76,7 +76,7 @@ class Connections(BaseCli):
|
|
|
76
76
|
else:
|
|
77
77
|
price_str = ""
|
|
78
78
|
parts.append(
|
|
79
|
-
f"[bold green][link=https://koleo.pl/
|
|
79
|
+
f"[bold green][link=https://koleo.pl/p/{i["id"]}]{date_part}{dep.strftime("%H:%M")} - {arr.strftime("%H:%M")}[/bold green] {travel_time//3600}h{(travel_time % 3600)/60:.0f}m {i['distance']}km{price_str}:[/link]"
|
|
80
80
|
)
|
|
81
81
|
if len(i["trains"]) == 1:
|
|
82
82
|
train = i["trains"][0]
|
koleo/cli/train_info.py
CHANGED
|
@@ -14,7 +14,7 @@ class TrainInfo(BaseCli):
|
|
|
14
14
|
if len(name_parts) == 1 and name_parts[0].isnumeric():
|
|
15
15
|
number = int(name_parts[0])
|
|
16
16
|
train_name = ""
|
|
17
|
-
elif len(
|
|
17
|
+
elif len(name_parts) > 1:
|
|
18
18
|
number = int(name_parts.pop(0))
|
|
19
19
|
train_name = " ".join(name_parts)
|
|
20
20
|
else:
|
koleo/storage.py
CHANGED
|
@@ -91,7 +91,7 @@ class Storage:
|
|
|
91
91
|
def load(cls, *, path: str = DEFAULT_CONFIG_PATH, ignore_cache: bool = False) -> t.Self:
|
|
92
92
|
expanded = ospath.expanduser(path)
|
|
93
93
|
if ospath.exists(expanded):
|
|
94
|
-
with open(expanded) as f:
|
|
94
|
+
with open(expanded, "rb") as f:
|
|
95
95
|
data = {k: v for k, v in loads(f.read()).items() if k in cls.__dataclass_fields__}
|
|
96
96
|
else:
|
|
97
97
|
data = {}
|
koleo/utils.py
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
from argparse import Action
|
|
2
2
|
from datetime import datetime, time, timedelta
|
|
3
3
|
|
|
4
|
-
from .api.types import
|
|
4
|
+
from .api.types import SeatsAvailabilityResponse, TimeDict, TrainComposition
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
def parse_datetime(s: str):
|
|
@@ -69,6 +69,7 @@ TRANSLITERATIONS = {
|
|
|
69
69
|
"ź": "z",
|
|
70
70
|
"ż": "z",
|
|
71
71
|
" ": "-",
|
|
72
|
+
"/": "-",
|
|
72
73
|
"_": "-",
|
|
73
74
|
}
|
|
74
75
|
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
koleo/__init__.py,sha256=dp6PfGcuWP50QBWhjnT-zS03l3KzzYnMJnUeYMKBayc,51
|
|
2
|
+
koleo/__main__.py,sha256=zRwdn7wRjqzWyDIoQ8PDDd_K2GizFIto35uO-mGFwsQ,63
|
|
3
|
+
koleo/args.py,sha256=tSFfKEFnlb9NWVNZPHnpUuQNv1JA-A_OoOVIssbZnps,11074
|
|
4
|
+
koleo/storage.py,sha256=F_0q-xt0jLQk--dfM8fmyG1tkfaM9d5Rh3sEwYzqGVs,4594
|
|
5
|
+
koleo/utils.py,sha256=KEJpoUKYCDAdFGJPge2xfsbn6UOYI1HEu6XQPVKqWUU,4631
|
|
6
|
+
koleo/api/__init__.py,sha256=3TfO8eBJcDCDXvIFobgyvN3Sfa1kQ2U0lm7gxEAsaWQ,50
|
|
7
|
+
koleo/api/base.py,sha256=8wAasDQ1DBDI1PsPESmS3iUE5csIgaGT4DOX_A-hPwI,2070
|
|
8
|
+
koleo/api/client.py,sha256=h2pGGsE8dZe5bePDOKOonSokMnoqgWE9aIWUcZBjPfs,9346
|
|
9
|
+
koleo/api/errors.py,sha256=J9g75K9_yvnZ-7Hi521h0yGcw9NUNnTprQsIZ_mclO0,1324
|
|
10
|
+
koleo/api/logging.py,sha256=VhOFY6N_mofFfg9ZJ5ZnDVCzNuRilqLqrzZU9b-hpZY,1644
|
|
11
|
+
koleo/api/types.py,sha256=EGApqn-YuD1_9LxwsAttNT6kjFdQ7Ll4YQzT18Q--Q0,12574
|
|
12
|
+
koleo/cli/__init__.py,sha256=mRh-w61QWlVB7joTW9HXP2PbfUWy6-UaD9oksmCnmNA,232
|
|
13
|
+
koleo/cli/aliases.py,sha256=RroIzuMFntUQABdj6SAYab2lH5SRTnUT8FtemNp1wHg,580
|
|
14
|
+
koleo/cli/base.py,sha256=VZNC3z6WZTtTO_ElUFJ3cWnJZJmy07YomnZQBuFdgPs,5111
|
|
15
|
+
koleo/cli/connections.py,sha256=DwfiwquRDH6PCcQHMciVXQCVocmX4zSlPCD_xCfpLa8,6860
|
|
16
|
+
koleo/cli/seats.py,sha256=cswhtDQtJn3Y3LObAyt7sRfjkAyD6-8clMfh2j_0eyY,6399
|
|
17
|
+
koleo/cli/station_board.py,sha256=lRGIeEKEOvUcctM6cwmqVE7Yk9m9R12gfFZahlWLQFc,3669
|
|
18
|
+
koleo/cli/stations.py,sha256=6L3PBWc6xssyR9eeLacuvGBJmaY7Ny3DalKy2Xq7zsA,1633
|
|
19
|
+
koleo/cli/train_info.py,sha256=HDTC3Rz0X14d6OuOey5NinxOaywR7jeVDEgGEUX11c4,7157
|
|
20
|
+
koleo/cli/utils.py,sha256=ISbsabi6fBdCO2tf7X2FjodeG3iRjngFPW93VqMeLq4,667
|
|
21
|
+
koleo_cli-0.2.137.23.3.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
|
22
|
+
koleo_cli-0.2.137.23.3.dist-info/METADATA,sha256=cTYIXqw8QYwb4Urii8T3Z6ToXGkMqIYCJUgi0_p3ZNU,4733
|
|
23
|
+
koleo_cli-0.2.137.23.3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
24
|
+
koleo_cli-0.2.137.23.3.dist-info/entry_points.txt,sha256=ouWbMR_XWpEwV7zfkFKeiFLe_IMP-47kTvVahgy4PRg,42
|
|
25
|
+
koleo_cli-0.2.137.23.3.dist-info/top_level.txt,sha256=AlWdXotkRYzHpFfOBYi6xOXl1H0zq4-tqtZ2XivoWB4,6
|
|
26
|
+
koleo_cli-0.2.137.23.3.dist-info/RECORD,,
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
koleo/__init__.py,sha256=dp6PfGcuWP50QBWhjnT-zS03l3KzzYnMJnUeYMKBayc,51
|
|
2
|
-
koleo/__main__.py,sha256=zRwdn7wRjqzWyDIoQ8PDDd_K2GizFIto35uO-mGFwsQ,63
|
|
3
|
-
koleo/args.py,sha256=cCOwKOb6s4Am6cypHdRb8Wnkv8Uv5vJuRgukQjGRvtU,11039
|
|
4
|
-
koleo/storage.py,sha256=ebeIIuUBGe96-AizFc3UVaDaczKGuBPwbL318Ft9vrU,4588
|
|
5
|
-
koleo/utils.py,sha256=s58W1zNWQm1KFvvCunRVibrb-Zd7Rd1xWSZkxqr5zYw,4631
|
|
6
|
-
koleo/api/__init__.py,sha256=3TfO8eBJcDCDXvIFobgyvN3Sfa1kQ2U0lm7gxEAsaWQ,50
|
|
7
|
-
koleo/api/base.py,sha256=8wAasDQ1DBDI1PsPESmS3iUE5csIgaGT4DOX_A-hPwI,2070
|
|
8
|
-
koleo/api/client.py,sha256=h2pGGsE8dZe5bePDOKOonSokMnoqgWE9aIWUcZBjPfs,9346
|
|
9
|
-
koleo/api/errors.py,sha256=J9g75K9_yvnZ-7Hi521h0yGcw9NUNnTprQsIZ_mclO0,1324
|
|
10
|
-
koleo/api/logging.py,sha256=VhOFY6N_mofFfg9ZJ5ZnDVCzNuRilqLqrzZU9b-hpZY,1644
|
|
11
|
-
koleo/api/types.py,sha256=EGApqn-YuD1_9LxwsAttNT6kjFdQ7Ll4YQzT18Q--Q0,12574
|
|
12
|
-
koleo/cli/__init__.py,sha256=AFG1RddD3iHryKrlBLC7nAPYOXNAnbwd6ps1ZDUW1lQ,266
|
|
13
|
-
koleo/cli/aliases.py,sha256=RroIzuMFntUQABdj6SAYab2lH5SRTnUT8FtemNp1wHg,580
|
|
14
|
-
koleo/cli/base.py,sha256=dtrPjcLB8GLoQM0yg5zPO6Xjln96aibX39EsjFTCeA4,4956
|
|
15
|
-
koleo/cli/connections.py,sha256=UAcG5L-UW50JiaBY4xShEeMRMy1nZDg-BCPBUZ05Y3c,6873
|
|
16
|
-
koleo/cli/seats.py,sha256=cswhtDQtJn3Y3LObAyt7sRfjkAyD6-8clMfh2j_0eyY,6399
|
|
17
|
-
koleo/cli/station_board.py,sha256=lRGIeEKEOvUcctM6cwmqVE7Yk9m9R12gfFZahlWLQFc,3669
|
|
18
|
-
koleo/cli/stations.py,sha256=6L3PBWc6xssyR9eeLacuvGBJmaY7Ny3DalKy2Xq7zsA,1633
|
|
19
|
-
koleo/cli/train_info.py,sha256=aG6Srbha-dWTHH6zN-LTxAHamcJU_zZn859Y6fNJ7J4,7151
|
|
20
|
-
koleo/cli/utils.py,sha256=ISbsabi6fBdCO2tf7X2FjodeG3iRjngFPW93VqMeLq4,667
|
|
21
|
-
koleo_cli-0.2.137.23.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
|
22
|
-
koleo_cli-0.2.137.23.dist-info/METADATA,sha256=0HWKrqeCvbJS4W9F2_cp73yIfQxuq8Z8HVa8VIvXhK4,4731
|
|
23
|
-
koleo_cli-0.2.137.23.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
24
|
-
koleo_cli-0.2.137.23.dist-info/entry_points.txt,sha256=ouWbMR_XWpEwV7zfkFKeiFLe_IMP-47kTvVahgy4PRg,42
|
|
25
|
-
koleo_cli-0.2.137.23.dist-info/top_level.txt,sha256=AlWdXotkRYzHpFfOBYi6xOXl1H0zq4-tqtZ2XivoWB4,6
|
|
26
|
-
koleo_cli-0.2.137.23.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|