koleo-cli 0.2.137.17__py3-none-any.whl → 0.2.137.18__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/__init__.py +1 -1
- koleo/api/__init__.py +2 -0
- koleo/api/base.py +70 -0
- koleo/api/client.py +221 -0
- koleo/api/errors.py +46 -0
- koleo/api/logging.py +56 -0
- koleo/api/types.py +488 -0
- koleo/args.py +279 -0
- koleo/cli/__init__.py +9 -0
- koleo/cli/aliases.py +15 -0
- koleo/cli/base.py +103 -0
- koleo/cli/connections.py +142 -0
- koleo/cli/seats.py +103 -0
- koleo/cli/station_board.py +72 -0
- koleo/cli/stations.py +37 -0
- koleo/cli/train_info.py +142 -0
- koleo/cli/utils.py +27 -0
- koleo/storage.py +66 -12
- koleo/utils.py +95 -8
- {koleo_cli-0.2.137.17.dist-info → koleo_cli-0.2.137.18.dist-info}/METADATA +32 -13
- koleo_cli-0.2.137.18.dist-info/RECORD +26 -0
- {koleo_cli-0.2.137.17.dist-info → koleo_cli-0.2.137.18.dist-info}/WHEEL +1 -1
- koleo_cli-0.2.137.18.dist-info/entry_points.txt +2 -0
- koleo/api.py +0 -161
- koleo/cli.py +0 -608
- koleo/types.py +0 -237
- koleo_cli-0.2.137.17.dist-info/RECORD +0 -13
- koleo_cli-0.2.137.17.dist-info/entry_points.txt +0 -2
- {koleo_cli-0.2.137.17.dist-info → koleo_cli-0.2.137.18.dist-info}/licenses/LICENSE +0 -0
- {koleo_cli-0.2.137.17.dist-info → koleo_cli-0.2.137.18.dist-info}/top_level.txt +0 -0
koleo/types.py
DELETED
|
@@ -1,237 +0,0 @@
|
|
|
1
|
-
import typing as t
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
class BaseStationInfo(t.TypedDict):
|
|
5
|
-
id: int
|
|
6
|
-
name: str
|
|
7
|
-
name_slug: str
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
# i want to kms
|
|
11
|
-
class ExtendedBaseStationInfo(BaseStationInfo):
|
|
12
|
-
hits: int
|
|
13
|
-
version: str # "A", "B"
|
|
14
|
-
is_group: bool
|
|
15
|
-
city: str | None
|
|
16
|
-
region: str
|
|
17
|
-
country: str
|
|
18
|
-
latitude: float
|
|
19
|
-
longitued: float
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
class ExtendedStationInfo(BaseStationInfo):
|
|
23
|
-
ibnr: int
|
|
24
|
-
localised_name: str
|
|
25
|
-
on_demand: bool
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
class StationBannerClockHandsPositon(t.TypedDict):
|
|
29
|
-
x: float
|
|
30
|
-
y: float
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
class StationBannerClockHands(t.TypedDict):
|
|
34
|
-
url: str | None
|
|
35
|
-
position: StationBannerClockHandsPositon
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
class StationBannerClock(t.TypedDict):
|
|
39
|
-
visible: bool | None
|
|
40
|
-
hands: StationBannerClockHands
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
class StationBanner(t.TypedDict):
|
|
44
|
-
url: str
|
|
45
|
-
clock: StationBannerClock
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
class Address(t.TypedDict):
|
|
49
|
-
full: str
|
|
50
|
-
zip: str
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
class Feature(t.TypedDict):
|
|
54
|
-
id: str
|
|
55
|
-
name: str
|
|
56
|
-
available: bool
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
class StationOpeningHours(t.TypedDict):
|
|
60
|
-
day: int # 0-6
|
|
61
|
-
open: str # 00:00
|
|
62
|
-
close: str # 24:00
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
class StationDetails(t.TypedDict):
|
|
66
|
-
banner: StationBanner
|
|
67
|
-
address: Address
|
|
68
|
-
lat: float
|
|
69
|
-
lon: float
|
|
70
|
-
opening_hours: list[StationOpeningHours]
|
|
71
|
-
features: list[Feature]
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
class StationLocalizedToTrain(BaseStationInfo):
|
|
75
|
-
train_id: int
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
class ApiBrand(t.TypedDict):
|
|
79
|
-
id: int
|
|
80
|
-
name: str # EIC, IC, IR, REG, ...
|
|
81
|
-
display_name: str
|
|
82
|
-
logo_text: str
|
|
83
|
-
color: str # hex
|
|
84
|
-
carrier_id: int
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
class Carrier(t.TypedDict):
|
|
88
|
-
id: int
|
|
89
|
-
name: str # Koleje Dolnośląskie, POLREGIO
|
|
90
|
-
short_name: str # KD, PR
|
|
91
|
-
slug: str
|
|
92
|
-
legal_name: str # PKP Szybka Kolej Miejska w Trójmieście Sp.z o.o.
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
class DiscountInfo(t.TypedDict):
|
|
96
|
-
id: int
|
|
97
|
-
passenger_percentage: int
|
|
98
|
-
display_passenger_percentage: float
|
|
99
|
-
flyer_second_class_percentage: int
|
|
100
|
-
flyer_first_class_percentage: int
|
|
101
|
-
express_second_class_percentage: int
|
|
102
|
-
express_first_class_percentage: int
|
|
103
|
-
dependent_on_ids: list[int]
|
|
104
|
-
name: str
|
|
105
|
-
rank: int
|
|
106
|
-
season_passenger_percentage: int
|
|
107
|
-
displayable: bool
|
|
108
|
-
is_company: bool
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
class TrainOnStationInfo(t.TypedDict):
|
|
112
|
-
arrival: str | None # first station
|
|
113
|
-
departure: str | None # last station
|
|
114
|
-
stations: list[StationLocalizedToTrain]
|
|
115
|
-
train_full_name: str
|
|
116
|
-
brand_id: int
|
|
117
|
-
platform: str # could be empty; some countries dont use arabic numerals or even tracks
|
|
118
|
-
track: str # could be empty; some countries dont use arabic numerals or even tracks
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
class TrainCalendar(t.TypedDict):
|
|
122
|
-
id: int
|
|
123
|
-
train_nr: int
|
|
124
|
-
train_name: str
|
|
125
|
-
trainBrand: int
|
|
126
|
-
dates: list[str] # Y-M-D
|
|
127
|
-
train_ids: list[int]
|
|
128
|
-
date_train_map: dict[str, int]
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
class TrainCalendarResponse(t.TypedDict):
|
|
132
|
-
train_calendars: list[TrainCalendar]
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
class TimeDict(t.TypedDict):
|
|
136
|
-
hour: int
|
|
137
|
-
minute: int
|
|
138
|
-
second: int
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
TrainAttribute = t.Tuple[int, str, str, str, bool, str]
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
class TrainDetail(t.TypedDict):
|
|
145
|
-
id: int
|
|
146
|
-
train_nr: int
|
|
147
|
-
name: str | None
|
|
148
|
-
train_full_name: str
|
|
149
|
-
run_desc: str # "09.09-15.09 - w pt - nd; 16.09-29.09, 14.10-03.11 - codziennie;"
|
|
150
|
-
carrier_id: int
|
|
151
|
-
brand_id: int
|
|
152
|
-
train_name: int # wtf
|
|
153
|
-
duration_offset: int # wtf?
|
|
154
|
-
db_train_nr: int # lol
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
class TrainStop(t.TypedDict):
|
|
158
|
-
id: int
|
|
159
|
-
station_id: int
|
|
160
|
-
station_name: str
|
|
161
|
-
station_slug: str
|
|
162
|
-
train_id: int
|
|
163
|
-
arrival: TimeDict
|
|
164
|
-
departure: TimeDict
|
|
165
|
-
position: int # the stop nr
|
|
166
|
-
train_nr: int | None
|
|
167
|
-
brand_id: int
|
|
168
|
-
distance: int # meters
|
|
169
|
-
entry_only: bool
|
|
170
|
-
exit_only: bool
|
|
171
|
-
station_display_name: str
|
|
172
|
-
platform: str
|
|
173
|
-
vehicle_type: str | None # ED161
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
class TrainDetailResponse(t.TypedDict):
|
|
177
|
-
train: TrainDetail
|
|
178
|
-
stops: list[TrainStop]
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
class ConnectionTrainStop(t.TypedDict):
|
|
182
|
-
arrival: TimeDict | str # WTF KOLEO!!!!
|
|
183
|
-
departure: TimeDict | str # WTF KOLEO!!!!
|
|
184
|
-
distance: int
|
|
185
|
-
in_path: bool
|
|
186
|
-
station_id: int
|
|
187
|
-
next_day: bool
|
|
188
|
-
position: int
|
|
189
|
-
train_nr: int
|
|
190
|
-
brand_id: int
|
|
191
|
-
entry_only: bool
|
|
192
|
-
exit_only: bool
|
|
193
|
-
platform: str
|
|
194
|
-
track: str
|
|
195
|
-
on_demand: bool
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
class ConnectiontrainDetail(TrainDetail):
|
|
199
|
-
arrival: TimeDict | str # WTF KOLEO!!!!
|
|
200
|
-
departure: TimeDict | str # WTF KOLEO!!!!
|
|
201
|
-
stops: list[ConnectionTrainStop]
|
|
202
|
-
bookable: bool
|
|
203
|
-
train_attribute_ids: list[int]
|
|
204
|
-
travel_time: int
|
|
205
|
-
direction: str
|
|
206
|
-
start_station_id: int
|
|
207
|
-
end_station_id: int
|
|
208
|
-
fixed_carriage_composition: bool
|
|
209
|
-
is_option_groups_available: bool
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
class ErrorDict(t.TypedDict):
|
|
213
|
-
type: str
|
|
214
|
-
value: str
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
class ConnectionDetail(t.TypedDict):
|
|
218
|
-
id: int
|
|
219
|
-
distance: int
|
|
220
|
-
purchasable: bool
|
|
221
|
-
purchasable_errors: list[ErrorDict]
|
|
222
|
-
travel_time: int
|
|
223
|
-
changes: int
|
|
224
|
-
needs_document: bool
|
|
225
|
-
brand_ids: list[int]
|
|
226
|
-
start_station_id: int
|
|
227
|
-
end_station_id: int
|
|
228
|
-
arrival: TimeDict | str # WTF KOLEO!!!!
|
|
229
|
-
departure: TimeDict | str # WTF KOLEO!!!!
|
|
230
|
-
bookable: bool
|
|
231
|
-
special_event_slug: str | None
|
|
232
|
-
is_advanced_travel_options: bool
|
|
233
|
-
is_child_birthday_required: bool
|
|
234
|
-
max_passengers_count: bool
|
|
235
|
-
constriction_info: list[str]
|
|
236
|
-
is_estimated_timetable_available: bool
|
|
237
|
-
trains: list[ConnectiontrainDetail]
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
koleo/__init__.py,sha256=N_IkOBZCSPCCw31Hu72CFys707PziGFmXpNVl0CXAz8,47
|
|
2
|
-
koleo/__main__.py,sha256=wu5N2wk8mvBgyvr2ghmQf4prezAe0_i-p123VVreyYc,62
|
|
3
|
-
koleo/api.py,sha256=J05sdOg0S0VgcJNcmmoE8fYMKVVmtqkw5Sy88e-C91k,5713
|
|
4
|
-
koleo/cli.py,sha256=buudsJbw45WBr-JsOU6LYFjpkSaX0GwxPF9nv3dA3FY,27610
|
|
5
|
-
koleo/storage.py,sha256=SUpeReZI-4V8NiOlDFCq5bbVrRT0-8YVC0QEb0Gs5Q8,2372
|
|
6
|
-
koleo/types.py,sha256=yT8Vkx9PK8JQJE0TAmnJNgCmQCWx9_iQRI3vcOaPKxU,5156
|
|
7
|
-
koleo/utils.py,sha256=AWRmyO2y0ol2t2EjznamZTlxcIxBaTTkxl9Ha0XBv4s,2007
|
|
8
|
-
koleo_cli-0.2.137.17.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
|
9
|
-
koleo_cli-0.2.137.17.dist-info/METADATA,sha256=C9IRB_ZEO1JyP1vErNyCAHB7iDqq0Hp2YbXqBsGYCWI,3371
|
|
10
|
-
koleo_cli-0.2.137.17.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
|
|
11
|
-
koleo_cli-0.2.137.17.dist-info/entry_points.txt,sha256=LtCidkVDq8Zd7-fxpRbys1Xa9LTHMZwXVbdcQEscdes,41
|
|
12
|
-
koleo_cli-0.2.137.17.dist-info/top_level.txt,sha256=AlWdXotkRYzHpFfOBYi6xOXl1H0zq4-tqtZ2XivoWB4,6
|
|
13
|
-
koleo_cli-0.2.137.17.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|