Commit graph

49 commits

Author SHA1 Message Date
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
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
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
0604dd80f8
WIP: HAFAS support 2023-08-13 12:51:15 +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
4abc43b72e
change route/stop layout to [name, eva, {data}] 2023-01-15 16:37:32 +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
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
208b818d7c
HAFAS->get_json_p: accept cache and encoding parameters 2022-09-24 15:01:24 +02:00
Daniel Friesel
b3d06a8eb4
HAFAS: Borders may be annotated as (Gr) or ...(...)Gr 2022-07-10 20:07:02 +02:00
Daniel Friesel
5cd25d442f
hafas: more generic fix for invalid XML 2022-03-30 18:29:00 +02:00
Daniel Friesel
ed0054fa50
Allow usage of custom hafas-rest-api instances 2021-10-30 10:02:58 +02:00
Daniel Friesel
37a0b8f2ab Handle another case of funky HAFAS html ("foo <> bar") 2021-07-12 19:16:14 +02:00
Daniel Friesel
9221ddce85 HAFAS: Work around yet another case of invalid XML 2021-06-05 14:17:49 +02:00
Daniel Friesel
16c1d12373 remove arbitrary HTML tags from HAFAS HIMMessage attribute content 2021-04-24 09:11:18 +02:00
Daniel Friesel
11727e0f99 *sigh* oh hafas, you so hafas 2021-03-29 20:58:35 +02:00
Daniel Friesel
3f33341a2e HAFAS: Remove all illegal linebreaks from attributes, not just the first 2021-02-06 18:06:09 +01:00
Daniel Friesel
5b1841ccce HAFAS: Handle <br> tags in HTML attributes 2021-02-06 12:13:25 +01:00
Daniel Friesel
a4ff5e8ad8 Switch to AGPL3+ 2021-01-29 18:32:13 +01:00
Daniel Friesel
db39b2a177 Handle invalid HAFAS XML containing "Wagen \d+ & \d+" 2021-01-05 22:27:46 +01:00
Daniel Friesel
b70ecc7c7c Add a bunch of licensing data 2020-11-27 22:12:56 +01:00
Daniel Friesel
5e96745121 HAFAS: Distinguish between disguised HTTP 404 and invalid XML 2020-11-06 11:23:22 +01:00
Daniel Friesel
c70280a935 Merge HAFAS XML fix from DBF 2020-10-25 16:35:43 +01:00
Daniel Friesel
b6330217f0 calculate tripid from trainsearch.exe.
Removes the need for an additional transport.rest request.
2020-10-11 12:04:33 +02:00
Daniel Friesel
fffe8dcdfa Switch to transport.rest v5 for polyline requests 2020-10-11 11:34:39 +02:00
Daniel Friesel
4575beb6ff HAFAS: Turn backend warnings into info messages
We can't do anything about them, after all
2020-10-08 20:05:31 +02:00
Daniel Friesel
870e4333a8 improve promise->reject error messages 2020-09-21 19:47:54 +02:00
Daniel Friesel
874de11298 handle rejected promises; do not accidentally duplicate rejections 2020-09-10 21:20:26 +02:00
Daniel Friesel
4171fe22ca add DBDB helper for wagonorder and stationinfo 2020-09-06 12:55:25 +02:00
Daniel Friesel
adaf65dc63 HAFAS: Error handling, perltidy 2020-07-28 14:19:55 +02:00
Daniel Friesel
56c275875c Move HAFAS helpers to a separate Helper module 2020-07-28 13:01:44 +02:00