Commit graph

114 commits

Author SHA1 Message Date
Birte Kristina Friesel
45dc2e4e2a
Switch to new carriage formation API 2024-08-08 21:13:39 +02:00
Birte Kristina Friesel
47f76da4f8
Multi-backend support
Squashed commit of the following:

commit 92518024ba295456358618c0e8180bd8e996fdf1
Author: Birte Kristina Friesel <birte.friesel@uos.de>
Date:   Fri Jul 26 18:39:46 2024 +0200

    add_or_update station: remove superfluos 'new backend id := old backend id'

commit df21c20c6e4c86454f8a9ac69121404415217f2a
Author: Birte Kristina Friesel <birte.friesel@uos.de>
Date:   Fri Jul 26 18:35:51 2024 +0200

    revert connection targets min_count to 3

commit be335cef07d0b42874f5fc1de4a1d13396e8e807
Author: Birte Kristina Friesel <birte.friesel@uos.de>
Date:   Fri Jul 26 18:20:05 2024 +0200

    mention backend selection in API documentation

commit 9f41828fb4f18fd707e0087def3032e8d4c8d7d8
Author: Birte Kristina Friesel <derf@finalrewind.org>
Date:   Thu Jul 25 20:19:23 2024 +0200

    use_history: not all backends provide route data in departure monitor

commit 09714b4d89684b8331d0e96f564a4c7432318f70
Author: Birte Kristina Friesel <derf@finalrewind.org>
Date:   Thu Jul 25 20:11:44 2024 +0200

    disambiguation: pass correct hafas parameter

commit 8cdf1120fc32155dc6525be64601b7c10a9c7f52
Author: Birte Kristina Friesel <derf@finalrewind.org>
Date:   Thu Jul 25 20:11:28 2024 +0200

    _checked_in: hide Zuglauf link for non-db checkins

commit 7455653f541198e0e0a6d11aed421487ffdb6285
Author: Birte Kristina Friesel <derf@finalrewind.org>
Date:   Thu Jul 25 20:01:47 2024 +0200

    debug output

commit b9cda07f85601a58ea32dbdacdd5399f302db52b
Author: Birte Kristina Friesel <derf@finalrewind.org>
Date:   Thu Jul 25 19:09:07 2024 +0200

    fix remaining get_connection_targets / get_connecting_trains_p invocations

commit 2759d7258c37c7498905cfe19f6b4c4f6d16bd21
Author: Birte Kristina Friesel <derf@finalrewind.org>
Date:   Wed Jul 24 20:50:12 2024 +0200

    support non-DB HAFAS backends (WiP)
2024-07-26 18:55:58 +02:00
Birte Kristina Friesel
f0b6814200
HAFAS: Add get_service wrapper 2024-07-18 18:37:33 +02:00
Birte Kristina Friesel
07ab3f4e9b
store lat/lon along with route
This increases resilience against EVA ID reuse
2024-07-08 21:05:21 +02:00
Birte Kristina Friesel
9e3d0acf93
IRIS: Use EVA ID rather than DS100 code for backend requests 2024-06-23 16:27:54 +02:00
Birte Kristina Friesel
918ed6ab1f
DBDB: Add some debug statements 2024-05-30 11:54:02 +02:00
Birte Kristina Friesel
9442572084
DBDB: use realtime cache for carriage composition requests 2024-05-30 11:53:33 +02:00
Birte Kristina Friesel
cd6df2aa9b
Use HAFAS routes as single source of truth. Overwrite initial IRIS route. 2024-05-22 19:04:57 +02:00
Birte Kristina Friesel
875ec1c3e5
Request polylines for HAFAS journeys as well; only store sensible ones
Decreases severity of #99
Fixes #108
2024-04-07 11:18:04 +02:00
Birte Kristina Friesel
c9e5bfae62
store tz_offset in route data if present 2024-04-03 13:58:48 +02:00
Birte Kristina Friesel
6e42d1dc29
lesson learned: do not deploy from easterhegg 2024-03-31 21:22:50 +02:00
Birte Kristina Friesel
b978ba6bc0
oops 2024-03-31 21:21:59 +02:00
Birte Kristina Friesel
970e30202d
HAFAS departures: add earlier / later links 2024-03-31 14:44:37 +02:00
Birte Kristina Friesel
9f0d72b9d1
HAFAS: correctly pass lookahead on to backend library
Closes #126

Note that this is more of a hotfix -- the underlying bug is in
Travel::Status::DE::HAFAS
2024-03-30 09:58:06 +01:00
Birte Kristina Friesel
ab14df0b16
Berlin Hbf is cursed. 2024-02-25 06:50:03 +01:00
Birte Kristina Friesel
dafeb838dc
Use journeyMatch rather than legacy trainsearch.exe API to find tripIDs 2024-02-24 20:11:11 +01:00
Birte Kristina Friesel
d47195a0cf
Switch to Travel::Status::DE::HAFAS 5.x 2023-12-27 10:59:35 +01:00
Birte Kristina Friesel
6364751eb1
HAFAS: Use locationSearch rather than similar_stops_p
locationSearch uses mgate.exe, just like the regular departure board.
similar_stops_p relies on ajax-getstop.exe which may become unavailable sooner
rather than later.
2023-11-01 18:44:00 +01:00
Birte Kristina Friesel
b410176e63
perltidy 2023-09-04 17:08:17 +02:00
Birte Kristina Friesel
d313ca7fc1
resolve unknown/ambiguous stop into list of stops 2023-08-24 21:26:00 +02:00
Birte Kristina Friesel
293f0c7577
synchronize non-train checkins from traewelling to travelynx 2023-08-13 20:18:40 +02:00
Birte Kristina Friesel
0604dd80f8
WIP: HAFAS support 2023-08-13 12:51:15 +02:00
Birte Kristina Friesel
52c0da3f46
Traewelling: replace legacy password login with OAuth2
This is a breaking change insofar as that traewelling support is no longer
provided automatically, but must be enabled by providing a traewelling.de
application ID and secret in travelynx.conf. However, as traewelling.de
password login is deprecated and wil soon be disabled, travelynx would break
either way. So we might or might not see travelynx 2.0.0 in the next days.

Automatic token refresh is still todo, but that was the case for password
login as well.

Closes #64
2023-08-07 21:17:10 +02:00
Birte Kristina Friesel
83df6f41e2
perltidy 2023-07-13 20:56:30 +02:00
networkException
0c1993f28e
Checkin: Use correct visibility when pushing to Träwelling 2023-07-13 20:17:51 +02:00
Birte Kristina Friesel
2123a67ba0
IRIS->get_departures_p: return string in first rejection argument
This is consistent with other promises within travelynx
2023-07-09 17:41:51 +02:00
Derf Null
a608ca6781
update ALL the copyright notices! 2023-07-03 17:59:25 +02:00
Derf Null
085d77a1fa
time to flush the name cache 2023-06-24 18:36:59 +02:00
Derf Null
c3c7a0c78b
stationboard: add HAFAS support 2023-03-27 21:03:25 +02:00
Daniel Friesel
fb3878665b
update ze copyright 2023-02-19 09:35:38 +01:00
Daniel Friesel
192af42d04
DBDB: apps-bahn wagenreihung no longer exists 2023-02-13 18:27:26 +01:00
Daniel Friesel
4abc43b72e
change route/stop layout to [name, eva, {data}] 2023-01-15 16:37:32 +01:00
Daniel Friesel
61b91fe4b2
log traewelling sync HTTP status to influxdb 2023-01-07 13:31:14 +01:00
Daniel Friesel
5c9adc4710
Traewelling: fix 'already checked in' error for API v1 2023-01-07 12:32:57 +01:00
Daniel Friesel
57a1ecbf76
traewelling checkin: add missing ibnr field to API payload 2023-01-07 12:29:56 +01:00
Daniel Friesel
e15778be0d
always store traewelling errors in debug mode
for the most part, they're not actionable. also, they're already available in
user logs.
2022-12-23 21:30:28 +01:00
Daniel Friesel
aa4e408df8
change 'ignoring polyline' log severity to debug 2022-12-12 20:00:48 +01:00
Daniel Friesel
fc9562f790
Improve "Betriebsstelle nicht bekannt" handling 2022-12-12 18:20:40 +01:00
Daniel Friesel
2f9ba6e017
switch to internal station database; add out-of-service stations for old journeys 2022-12-07 19:42:48 +01:00
Daniel Friesel
2f7bdf99e8 Traewelling: Use API v1 for checkin as well 2022-11-10 17:50:31 +01:00
Daniel Friesel
fd805597f5
HAFAS: filter out border stations 2022-11-09 18:17:05 +01:00
Daniel Friesel
d75ae5eb45
travelynx no longer requires XML::LibXML 2022-11-09 18:15:18 +01:00
Daniel Friesel
c26c8820f2
Switch to internal HAFAS client for connection details 2022-11-09 18:14:07 +01:00
Daniel Friesel
528f59dbd2
obtain polylines via mgate (T-S-DE-HAFAS) 2022-11-05 22:01:51 +01:00
Daniel Friesel
087d3871e1
Use Travel::Status::DE::HAFAS instead of traininfo.exe for journey details 2022-11-05 19:19:52 +01:00
Daniel Friesel
bde6346401
Traewelling: Use API v1 for login/logout. v1 checkin does not work yet. 2022-10-31 20:58:27 +01:00
Daniel Friesel
208b818d7c
HAFAS->get_json_p: accept cache and encoding parameters 2022-09-24 15:01:24 +02:00
Daniel Friesel
0e14df21d2
traewelling: more detailed error messages 2022-08-17 21:51:24 +02:00
Daniel Friesel
c348b2dff8
log requested station when throwing an ambiguous station name error 2022-08-01 20:03:34 +02:00
Daniel Friesel
bb6acc0c6b
Use async IRIS API for /s/ 2022-07-26 10:41:44 +02:00