Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package kpublictransport for
openSUSE:Factory checked in at 2026-06-08 14:13:42
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kpublictransport (Old)
and /work/SRC/openSUSE:Factory/.kpublictransport.new.2375 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kpublictransport"
Mon Jun 8 14:13:42 2026 rev:66 rq:1357424 version:26.04.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/kpublictransport/kpublictransport.changes
2026-05-11 17:03:15.463413014 +0200
+++
/work/SRC/openSUSE:Factory/.kpublictransport.new.2375/kpublictransport.changes
2026-06-08 14:18:53.485063471 +0200
@@ -1,0 +2,11 @@
+Thu Jun 4 08:44:16 UTC 2026 - Christophe Marin <[email protected]>
+
+- Update to 26.04.2
+ * New bugfix release
+ * For more details please see:
+ * https://kde.org/announcements/gear/26.04.2/
+- Changes since 26.04.1:
+ * Improve OTP parsing heuristic for choosing between trip and route names
(kde#519906)
+ * Adapt to Deutsche Bahn journey query API changes
+
+-------------------------------------------------------------------
Old:
----
kpublictransport-26.04.1.tar.xz
kpublictransport-26.04.1.tar.xz.sig
New:
----
kpublictransport-26.04.2.tar.xz
kpublictransport-26.04.2.tar.xz.sig
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kpublictransport.spec ++++++
--- /var/tmp/diff_new_pack.EziFNM/_old 2026-06-08 14:18:54.669112564 +0200
+++ /var/tmp/diff_new_pack.EziFNM/_new 2026-06-08 14:18:54.669112564 +0200
@@ -21,7 +21,7 @@
%bcond_without released
Name: kpublictransport
-Version: 26.04.1
+Version: 26.04.2
Release: 0
Summary: QML imports for querying public transport data
License: LGPL-2.0-or-later
++++++ kpublictransport-26.04.1.tar.xz -> kpublictransport-26.04.2.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/kpublictransport-26.04.1/CMakeLists.txt
new/kpublictransport-26.04.2/CMakeLists.txt
--- old/kpublictransport-26.04.1/CMakeLists.txt 2026-05-04 09:18:03.000000000
+0200
+++ new/kpublictransport-26.04.2/CMakeLists.txt 2026-06-01 05:17:55.000000000
+0200
@@ -6,7 +6,7 @@
# KDE Application Version, managed by release script
set (RELEASE_SERVICE_VERSION_MAJOR "26")
set (RELEASE_SERVICE_VERSION_MINOR "04")
-set (RELEASE_SERVICE_VERSION_MICRO "1")
+set (RELEASE_SERVICE_VERSION_MICRO "2")
set (RELEASE_SERVICE_VERSION
"${RELEASE_SERVICE_VERSION_MAJOR}.${RELEASE_SERVICE_VERSION_MINOR}.${RELEASE_SERVICE_VERSION_MICRO}")
project(KPublicTransport VERSION ${RELEASE_SERVICE_VERSION})
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/kpublictransport-26.04.1/autotests/data/otp/de-stadtnavi-route-name-journey.in.json
new/kpublictransport-26.04.2/autotests/data/otp/de-stadtnavi-route-name-journey.in.json
---
old/kpublictransport-26.04.1/autotests/data/otp/de-stadtnavi-route-name-journey.in.json
1970-01-01 01:00:00.000000000 +0100
+++
new/kpublictransport-26.04.2/autotests/data/otp/de-stadtnavi-route-name-journey.in.json
2026-06-01 05:17:55.000000000 +0200
@@ -0,0 +1 @@
+{"plan":{"itineraries":[{"legs":[{"startTime":1778690318000,"endTime":1778690520000,"departureDelay":0,"arrivalDelay":0,"realTime":false,"distance":230.68,"mode":"WALK","transitLeg":false,"rentedBike":false,"from":{"name":"Origin","lat":48.7257765,"lon":9.1136,"stop":null,"bikeRentalStation":null},"to":{"name":"Vaihingen","lat":48.72707,"lon":9.113927,"stop":{"id":"hbg:de:08111:6002:1:1","platformCode":null},"bikeRentalStation":null},"pickupType":"SCHEDULED","pickupBookingInfo":null,"dropoffType":"SCHEDULED","trip":null,"intermediateStops":null,"legGeometry":{"length":14,"points":"{vkhHg_sv@GMABuA|BSXQXKNCGMUCEDG@AKWeBiD"}},{"startTime":1778690520000,"endTime":1778696760000,"departureDelay":0,"arrivalDelay":0,"realTime":false,"distance":155944.34,"mode":"RAIL","transitLeg":true,"rentedBike":null,"from":{"name":"Vaihingen","lat":48.72707,"lon":9.113927,"stop":{"id":"hbg:de:08111:6002:1:1","platformCode":null},"bikeRentalStation":null},"to":{"name":"Singen
(Htw) Bahnhof","lat":47.7589
76,"lon":8.841479,"stop":{"id":"hbg:de:08335:6588:2:3","platformCode":null},"bikeRentalStation":null},"pickupType":"SCHEDULED","pickupBookingInfo":null,"dropoffType":"SCHEDULED","trip":{"id":"hbg:ddb-90-X87-1-1-73-H-55-Special#12753-203-42","route":{"type":2,"desc":null,"shortName":"RE
87","longName":null,"color":null,"textColor":null,"agency":{"name":"DB
Fernverkehr
AG","url":"http://www.nvbw.de"},"alerts":[]},"bikesAllowed":"NO_INFORMATION","tripHeadsign":"Singen
(Htw)
Bahnhof","tripShortName":"50283","occupancy":{"occupancyStatus":"NO_DATA_AVAILABLE"},"wheelchairAccessible":"NOT_POSSIBLE"},"intermediateStops":[{"stop":{"id":"hbg:de:08115:7100:1:5","name":"Böblingen","lat":48.688,"lon":9.004382,"platformCode":null},"scheduledArrivalTime":1778690880000,"scheduledDepartureTime":1778691000000},{"stop":{"id":"hbg:de:08237:5001:3:2","name":"Horb
(N)","lat":48.441578,"lon":8.688354,"platformCode":null},"scheduledArrivalTime":1778692380000,"scheduledDepartureTime":1778692440000},{"stop"
:{"id":"hbg:de:08325:6584:3:5","name":"Rottweil","lat":48.165443,"lon":8.639292,"platformCode":null},"scheduledArrivalTime":1778694120000,"scheduledDepartureTime":1778694180000},{"stop":{"id":"hbg:de:08327:1748:11:2","name":"Tuttlingen","lat":47.98064,"lon":8.798831,"platformCode":null},"scheduledArrivalTime":1778695200000,"scheduledDepartureTime":1778695260000}]},{"startTime":1778696760000,"endTime":1778696775000,"departureDelay":0,"arrivalDelay":0,"realTime":false,"distance":19.12,"mode":"WALK","transitLeg":false,"rentedBike":false,"from":{"name":"Singen
(Htw)
Bahnhof","lat":47.758976,"lon":8.841479,"stop":{"id":"hbg:de:08335:6588:2:3","platformCode":null},"bikeRentalStation":null},"to":{"name":"Destination","lat":47.75889,"lon":8.841116,"stop":null,"bikeRentalStation":null},"pickupType":"SCHEDULED","pickupBookingInfo":null,"dropoffType":"SCHEDULED","trip":null,"intermediateStops":null,"legGeometry":{"length":3,"points":"q{nbHov}t@Mg@AE"}}]},{"legs":[{"startTime":1778693198000,"en
dTime":1778693400000,"departureDelay":0,"arrivalDelay":0,"realTime":false,"distance":230.68,"mode":"WALK","transitLeg":false,"rentedBike":false,"from":{"name":"Origin","lat":48.7257765,"lon":9.1136,"stop":null,"bikeRentalStation":null},"to":{"name":"Vaihingen","lat":48.72707,"lon":9.113927,"stop":{"id":"hbg:de:08111:6002:1:1","platformCode":null},"bikeRentalStation":null},"pickupType":"SCHEDULED","pickupBookingInfo":null,"dropoffType":"SCHEDULED","trip":null,"intermediateStops":null,"legGeometry":{"length":14,"points":"{vkhHg_sv@GMABuA|BSXQXKNCGMUCEDG@AKWeBiD"}},{"startTime":1778693400000,"endTime":1778700360000,"departureDelay":0,"arrivalDelay":0,"realTime":false,"distance":155946.65,"mode":"RAIL","transitLeg":true,"rentedBike":null,"from":{"name":"Vaihingen","lat":48.72707,"lon":9.113927,"stop":{"id":"hbg:de:08111:6002:1:1","platformCode":null},"bikeRentalStation":null},"to":{"name":"Singen
(Htw)
Bahnhof","lat":47.758976,"lon":8.841479,"stop":{"id":"hbg:de:08335:6588:2:3","platfor
mCode":null},"bikeRentalStation":null},"pickupType":"SCHEDULED","pickupBookingInfo":null,"dropoffType":"SCHEDULED","trip":{"id":"hbg:ddb-90-X87-1-1-102-H-84-Special#14645-186-69","route":{"type":2,"desc":null,"shortName":"RE
87","longName":null,"color":null,"textColor":null,"agency":{"name":"DB
Fernverkehr
AG","url":"http://www.nvbw.de"},"alerts":[]},"bikesAllowed":"NO_INFORMATION","tripHeadsign":"Singen
(Htw)
Bahnhof","tripShortName":"50389","occupancy":{"occupancyStatus":"NO_DATA_AVAILABLE"},"wheelchairAccessible":"NOT_POSSIBLE"},"intermediateStops":[{"stop":{"id":"hbg:de:08115:7100:1:5","name":"Böblingen","lat":48.688,"lon":9.004382,"platformCode":null},"scheduledArrivalTime":1778693820000,"scheduledDepartureTime":1778693880000},{"stop":{"id":"hbg:de:08115:4512:3:4","name":"Herrenberg","lat":48.59411,"lon":8.86272,"platformCode":null},"scheduledArrivalTime":1778694360000,"scheduledDepartureTime":1778694420000},{"stop":{"id":"hbg:de:08115:5776:1:1","name":"Gäufelden","lat":48.55
9734,"lon":8.850037,"platformCode":null},"scheduledArrivalTime":1778694600000,"scheduledDepartureTime":1778694660000},{"stop":{"id":"hbg:de:08115:4510:1:3","name":"Bondorf","lat":48.52328,"lon":8.827739,"platformCode":null},"scheduledArrivalTime":1778694840000,"scheduledDepartureTime":1778694900000},{"stop":{"id":"hbg:de:08237:5001:3:2","name":"Horb
(N)","lat":48.441578,"lon":8.688354,"platformCode":null},"scheduledArrivalTime":1778695560000,"scheduledDepartureTime":1778695620000},{"stop":{"id":"hbg:de:08325:6590:1:2","name":"Sulz
(N)","lat":48.366863,"lon":8.636862,"platformCode":null},"scheduledArrivalTime":1778696220000,"scheduledDepartureTime":1778696220000},{"stop":{"id":"hbg:de:08325:6596:2:3","name":"Oberndorf
(N)","lat":48.295986,"lon":8.575556,"platformCode":null},"scheduledArrivalTime":1778696760000,"scheduledDepartureTime":1778696940000},{"stop":{"id":"hbg:de:08325:6584:3:5","name":"Rottweil","lat":48.165443,"lon":8.639292,"platformCode":null},"scheduledArrivalTime":17786
97660000,"scheduledDepartureTime":1778697720000},{"stop":{"id":"hbg:de:08327:1510:10:1","name":"Spaichingen","lat":48.06911,"lon":8.740561,"platformCode":null},"scheduledArrivalTime":1778698260000,"scheduledDepartureTime":1778698260000},{"stop":{"id":"hbg:de:08327:1748:11:2","name":"Tuttlingen","lat":47.98064,"lon":8.798831,"platformCode":null},"scheduledArrivalTime":1778698740000,"scheduledDepartureTime":1778698800000},{"stop":{"id":"hbg:de:08335:6551:2:3","name":"Engen","lat":47.856388,"lon":8.772851,"platformCode":null},"scheduledArrivalTime":1778699460000,"scheduledDepartureTime":1778699520000}]},{"startTime":1778700360000,"endTime":1778700375000,"departureDelay":0,"arrivalDelay":0,"realTime":false,"distance":19.12,"mode":"WALK","transitLeg":false,"rentedBike":false,"from":{"name":"Singen
(Htw)
Bahnhof","lat":47.758976,"lon":8.841479,"stop":{"id":"hbg:de:08335:6588:2:3","platformCode":null},"bikeRentalStation":null},"to":{"name":"Destination","lat":47.75889,"lon":8.841116,"stop"
:null,"bikeRentalStation":null},"pickupType":"SCHEDULED","pickupBookingInfo":null,"dropoffType":"SCHEDULED","trip":null,"intermediateStops":null,"legGeometry":{"length":3,"points":"q{nbHov}t@Mg@AE"}}]},{"legs":[{"startTime":1778697398000,"endTime":1778697600000,"departureDelay":0,"arrivalDelay":0,"realTime":false,"distance":230.68,"mode":"WALK","transitLeg":false,"rentedBike":false,"from":{"name":"Origin","lat":48.7257765,"lon":9.1136,"stop":null,"bikeRentalStation":null},"to":{"name":"Vaihingen","lat":48.72707,"lon":9.113927,"stop":{"id":"hbg:de:08111:6002:1:1","platformCode":null},"bikeRentalStation":null},"pickupType":"SCHEDULED","pickupBookingInfo":null,"dropoffType":"SCHEDULED","trip":null,"intermediateStops":null,"legGeometry":{"length":14,"points":"{vkhHg_sv@GMABuA|BSXQXKNCGMUCEDG@AKWeBiD"}},{"startTime":1778697600000,"endTime":1778703960000,"departureDelay":0,"arrivalDelay":0,"realTime":false,"distance":155935.18,"mode":"RAIL","transitLeg":true,"rentedBike":null,"from":{"nam
e":"Vaihingen","lat":48.72707,"lon":9.113927,"stop":{"id":"hbg:de:08111:6002:1:1","platformCode":null},"bikeRentalStation":null},"to":{"name":"Singen
(Htw)
Bahnhof","lat":47.758976,"lon":8.841479,"stop":{"id":"hbg:de:08335:6588:2:3","platformCode":null},"bikeRentalStation":null},"pickupType":"SCHEDULED","pickupBookingInfo":null,"dropoffType":"SCHEDULED","trip":{"id":"hbg:ddb-90-X87-1-1-100-H-82-Special#12753-184-53","route":{"type":2,"desc":null,"shortName":"RE
87","longName":null,"color":null,"textColor":null,"agency":{"name":"DB
Fernverkehr
AG","url":"http://www.nvbw.de"},"alerts":[]},"bikesAllowed":"NO_INFORMATION","tripHeadsign":"Singen
(Htw)
Bahnhof","tripShortName":"50285","occupancy":{"occupancyStatus":"NO_DATA_AVAILABLE"},"wheelchairAccessible":"NOT_POSSIBLE"},"intermediateStops":[{"stop":{"id":"hbg:de:08115:7100:1:5","name":"Böblingen","lat":48.688,"lon":9.004382,"platformCode":null},"scheduledArrivalTime":1778698020000,"scheduledDepartureTime":1778698080000},{"stop":{"id"
:"hbg:de:08237:5001:3:2","name":"Horb
(N)","lat":48.441578,"lon":8.688354,"platformCode":null},"scheduledArrivalTime":1778699520000,"scheduledDepartureTime":1778699580000},{"stop":{"id":"hbg:de:08325:6590:1:2","name":"Sulz
(N)","lat":48.366863,"lon":8.636862,"platformCode":null},"scheduledArrivalTime":1778700180000,"scheduledDepartureTime":1778700180000},{"stop":{"id":"hbg:de:08325:6596:2:3","name":"Oberndorf
(N)","lat":48.295986,"lon":8.575556,"platformCode":null},"scheduledArrivalTime":1778700720000,"scheduledDepartureTime":1778700720000},{"stop":{"id":"hbg:de:08325:6584:3:5","name":"Rottweil","lat":48.165443,"lon":8.639292,"platformCode":null},"scheduledArrivalTime":1778701440000,"scheduledDepartureTime":1778701500000},{"stop":{"id":"hbg:de:08327:1748:12:5","name":"Tuttlingen","lat":47.980774,"lon":8.798482,"platformCode":null},"scheduledArrivalTime":1778702460000,"scheduledDepartureTime":1778702580000}]},{"startTime":1778703960000,"endTime":1778703975000,"departureDelay":0,"arri
valDelay":0,"realTime":false,"distance":19.12,"mode":"WALK","transitLeg":false,"rentedBike":false,"from":{"name":"Singen
(Htw)
Bahnhof","lat":47.758976,"lon":8.841479,"stop":{"id":"hbg:de:08335:6588:2:3","platformCode":null},"bikeRentalStation":null},"to":{"name":"Destination","lat":47.75889,"lon":8.841116,"stop":null,"bikeRentalStation":null},"pickupType":"SCHEDULED","pickupBookingInfo":null,"dropoffType":"SCHEDULED","trip":null,"intermediateStops":null,"legGeometry":{"length":3,"points":"q{nbHov}t@Mg@AE"}}]}],"prevDateTime":1778677840000,"nextDateTime":1778698240000,"searchWindowUsed":10200}}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/kpublictransport-26.04.1/autotests/data/otp/de-stadtnavi-route-name-journey.out.json
new/kpublictransport-26.04.2/autotests/data/otp/de-stadtnavi-route-name-journey.out.json
---
old/kpublictransport-26.04.1/autotests/data/otp/de-stadtnavi-route-name-journey.out.json
1970-01-01 01:00:00.000000000 +0100
+++
new/kpublictransport-26.04.2/autotests/data/otp/de-stadtnavi-route-name-journey.out.json
2026-06-01 05:17:55.000000000 +0200
@@ -0,0 +1,992 @@
+[
+ {
+ "sections": [
+ {
+ "arrival": {
+ "disruptionEffect": "NormalService",
+ "scheduledArrivalTime": "2026-05-13T16:42:00Z",
+ "stopPoint": {
+ "country": "DE",
+ "identifier": {
+ "gtfs": "hbg:de:08111:6002:1:1"
+ },
+ "latitude": 48.72707,
+ "longitude": 9.113927,
+ "name": "Vaihingen",
+ "region": "DE-BW",
+ "type": "Stop"
+ }
+ },
+ "departure": {
+ "disruptionEffect": "NormalService",
+ "scheduledDepartureTime": "2026-05-13T16:38:38Z",
+ "stopPoint": {
+ "country": "DE",
+ "latitude": 48.7257765,
+ "longitude": 9.1136,
+ "name": "Origin",
+ "region": "DE-BW"
+ }
+ },
+ "distance": 232,
+ "mode": "Walking",
+ "path": {
+ "sections": [
+ {
+ "path": {
+ "coordinates": [
+ [
+ 9.11364,
+ 48.72574
+ ],
+ [
+ 9.11371,
+ 48.72578
+ ],
+ [
+ 9.11369,
+ 48.72579
+ ],
+ [
+ 9.11306,
+ 48.72622
+ ],
+ [
+ 9.11293,
+ 48.72632
+ ],
+ [
+ 9.1128,
+ 48.72641
+ ],
+ [
+ 9.11272,
+ 48.72647
+ ],
+ [
+ 9.11276,
+ 48.72649
+ ],
+ [
+ 9.11287,
+ 48.72656
+ ],
+ [
+ 9.1129,
+ 48.72658
+ ],
+ [
+ 9.11294,
+ 48.72655
+ ],
+ [
+ 9.11295,
+ 48.72654
+ ],
+ [
+ 9.11307,
+ 48.7266
+ ],
+ [
+ 9.11392,
+ 48.72711
+ ]
+ ],
+ "type": "LineString"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "arrival": {
+ "disruptionEffect": "NormalService",
+ "scheduledArrivalTime": "2026-05-13T18:26:00Z",
+ "stopPoint": {
+ "country": "DE",
+ "identifier": {
+ "gtfs": "hbg:de:08335:6588:2:3"
+ },
+ "latitude": 47.758976,
+ "longitude": 8.841479,
+ "name": "Singen (Htw) Bahnhof",
+ "region": "DE-BW",
+ "type": "Stop"
+ }
+ },
+ "departure": {
+ "disruptionEffect": "NormalService",
+ "route": {
+ "direction": "Singen (Htw) Bahnhof",
+ "line": {
+ "mode": "Train",
+ "name": "RE 87",
+ "operatorName": "DB Fernverkehr AG",
+ "operatorUrl": "http://www.nvbw.de"
+ },
+ "name": "50283"
+ },
+ "scheduledDepartureTime": "2026-05-13T16:42:00Z",
+ "stopPoint": {
+ "country": "DE",
+ "identifier": {
+ "gtfs": "hbg:de:08111:6002:1:1"
+ },
+ "latitude": 48.72707,
+ "longitude": 9.113927,
+ "name": "Vaihingen",
+ "region": "DE-BW",
+ "type": "Stop"
+ },
+ "vehicleLayout": {
+ "direction": "UnknownDirection",
+ "features": [
+ {
+ "availability": "Unknown",
+ "disruptionEffect": "NormalService",
+ "type": "BikeStorage"
+ },
+ {
+ "availability": "Unavailable",
+ "disruptionEffect": "NormalService",
+ "type": "WheelchairAccessible"
+ }
+ ]
+ }
+ },
+ "distance": 155944,
+ "identifiers": {
+ "gtfs": "hbg:ddb-90-X87-1-1-73-H-55-Special#12753-203-42"
+ },
+ "intermediateStops": [
+ {
+ "disruptionEffect": "NormalService",
+ "scheduledArrivalTime": "2026-05-13T16:48:00Z",
+ "scheduledDepartureTime": "2026-05-13T16:50:00Z",
+ "stopPoint": {
+ "country": "DE",
+ "identifier": {
+ "gtfs": "hbg:de:08115:7100:1:5"
+ },
+ "latitude": 48.688,
+ "longitude": 9.004382,
+ "name": "Böblingen",
+ "region": "DE-BW",
+ "type": "Stop"
+ }
+ },
+ {
+ "disruptionEffect": "NormalService",
+ "scheduledArrivalTime": "2026-05-13T17:13:00Z",
+ "scheduledDepartureTime": "2026-05-13T17:14:00Z",
+ "stopPoint": {
+ "country": "DE",
+ "identifier": {
+ "gtfs": "hbg:de:08237:5001:3:2"
+ },
+ "latitude": 48.441578,
+ "longitude": 8.688354,
+ "name": "Horb (N)",
+ "region": "DE-BW",
+ "type": "Stop"
+ }
+ },
+ {
+ "disruptionEffect": "NormalService",
+ "scheduledArrivalTime": "2026-05-13T17:42:00Z",
+ "scheduledDepartureTime": "2026-05-13T17:43:00Z",
+ "stopPoint": {
+ "country": "DE",
+ "identifier": {
+ "gtfs": "hbg:de:08325:6584:3:5"
+ },
+ "latitude": 48.165443,
+ "longitude": 8.639292,
+ "name": "Rottweil",
+ "region": "DE-BW",
+ "type": "Stop"
+ }
+ },
+ {
+ "disruptionEffect": "NormalService",
+ "scheduledArrivalTime": "2026-05-13T18:00:00Z",
+ "scheduledDepartureTime": "2026-05-13T18:01:00Z",
+ "stopPoint": {
+ "country": "DE",
+ "identifier": {
+ "gtfs": "hbg:de:08327:1748:11:2"
+ },
+ "latitude": 47.98064,
+ "longitude": 8.798831,
+ "name": "Tuttlingen",
+ "region": "DE-BW",
+ "type": "Stop"
+ }
+ }
+ ],
+ "mode": "PublicTransport"
+ },
+ {
+ "arrival": {
+ "disruptionEffect": "NormalService",
+ "scheduledArrivalTime": "2026-05-13T18:26:15Z",
+ "stopPoint": {
+ "country": "DE",
+ "latitude": 47.75889,
+ "longitude": 8.841116,
+ "name": "Destination",
+ "region": "DE-BW"
+ }
+ },
+ "departure": {
+ "disruptionEffect": "NormalService",
+ "scheduledDepartureTime": "2026-05-13T18:26:00Z",
+ "stopPoint": {
+ "country": "DE",
+ "identifier": {
+ "gtfs": "hbg:de:08335:6588:2:3"
+ },
+ "latitude": 47.758976,
+ "longitude": 8.841479,
+ "name": "Singen (Htw) Bahnhof",
+ "region": "DE-BW",
+ "type": "Stop"
+ }
+ },
+ "distance": 29,
+ "mode": "Walking",
+ "path": {
+ "sections": [
+ {
+ "path": {
+ "coordinates": [
+ [
+ 8.84088,
+ 47.75881
+ ],
+ [
+ 8.84108,
+ 47.75888
+ ],
+ [
+ 8.84111,
+ 47.75889
+ ]
+ ],
+ "type": "LineString"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "sections": [
+ {
+ "arrival": {
+ "disruptionEffect": "NormalService",
+ "scheduledArrivalTime": "2026-05-13T17:30:00Z",
+ "stopPoint": {
+ "country": "DE",
+ "identifier": {
+ "gtfs": "hbg:de:08111:6002:1:1"
+ },
+ "latitude": 48.72707,
+ "longitude": 9.113927,
+ "name": "Vaihingen",
+ "region": "DE-BW",
+ "type": "Stop"
+ }
+ },
+ "departure": {
+ "disruptionEffect": "NormalService",
+ "scheduledDepartureTime": "2026-05-13T17:26:38Z",
+ "stopPoint": {
+ "country": "DE",
+ "latitude": 48.7257765,
+ "longitude": 9.1136,
+ "name": "Origin",
+ "region": "DE-BW"
+ }
+ },
+ "distance": 232,
+ "mode": "Walking",
+ "path": {
+ "sections": [
+ {
+ "path": {
+ "coordinates": [
+ [
+ 9.11364,
+ 48.72574
+ ],
+ [
+ 9.11371,
+ 48.72578
+ ],
+ [
+ 9.11369,
+ 48.72579
+ ],
+ [
+ 9.11306,
+ 48.72622
+ ],
+ [
+ 9.11293,
+ 48.72632
+ ],
+ [
+ 9.1128,
+ 48.72641
+ ],
+ [
+ 9.11272,
+ 48.72647
+ ],
+ [
+ 9.11276,
+ 48.72649
+ ],
+ [
+ 9.11287,
+ 48.72656
+ ],
+ [
+ 9.1129,
+ 48.72658
+ ],
+ [
+ 9.11294,
+ 48.72655
+ ],
+ [
+ 9.11295,
+ 48.72654
+ ],
+ [
+ 9.11307,
+ 48.7266
+ ],
+ [
+ 9.11392,
+ 48.72711
+ ]
+ ],
+ "type": "LineString"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "arrival": {
+ "disruptionEffect": "NormalService",
+ "scheduledArrivalTime": "2026-05-13T19:26:00Z",
+ "stopPoint": {
+ "country": "DE",
+ "identifier": {
+ "gtfs": "hbg:de:08335:6588:2:3"
+ },
+ "latitude": 47.758976,
+ "longitude": 8.841479,
+ "name": "Singen (Htw) Bahnhof",
+ "region": "DE-BW",
+ "type": "Stop"
+ }
+ },
+ "departure": {
+ "disruptionEffect": "NormalService",
+ "route": {
+ "direction": "Singen (Htw) Bahnhof",
+ "line": {
+ "mode": "Train",
+ "name": "RE 87",
+ "operatorName": "DB Fernverkehr AG",
+ "operatorUrl": "http://www.nvbw.de"
+ },
+ "name": "50389"
+ },
+ "scheduledDepartureTime": "2026-05-13T17:30:00Z",
+ "stopPoint": {
+ "country": "DE",
+ "identifier": {
+ "gtfs": "hbg:de:08111:6002:1:1"
+ },
+ "latitude": 48.72707,
+ "longitude": 9.113927,
+ "name": "Vaihingen",
+ "region": "DE-BW",
+ "type": "Stop"
+ },
+ "vehicleLayout": {
+ "direction": "UnknownDirection",
+ "features": [
+ {
+ "availability": "Unknown",
+ "disruptionEffect": "NormalService",
+ "type": "BikeStorage"
+ },
+ {
+ "availability": "Unavailable",
+ "disruptionEffect": "NormalService",
+ "type": "WheelchairAccessible"
+ }
+ ]
+ }
+ },
+ "distance": 155946,
+ "identifiers": {
+ "gtfs": "hbg:ddb-90-X87-1-1-102-H-84-Special#14645-186-69"
+ },
+ "intermediateStops": [
+ {
+ "disruptionEffect": "NormalService",
+ "scheduledArrivalTime": "2026-05-13T17:37:00Z",
+ "scheduledDepartureTime": "2026-05-13T17:38:00Z",
+ "stopPoint": {
+ "country": "DE",
+ "identifier": {
+ "gtfs": "hbg:de:08115:7100:1:5"
+ },
+ "latitude": 48.688,
+ "longitude": 9.004382,
+ "name": "Böblingen",
+ "region": "DE-BW",
+ "type": "Stop"
+ }
+ },
+ {
+ "disruptionEffect": "NormalService",
+ "scheduledArrivalTime": "2026-05-13T17:46:00Z",
+ "scheduledDepartureTime": "2026-05-13T17:47:00Z",
+ "stopPoint": {
+ "country": "DE",
+ "identifier": {
+ "gtfs": "hbg:de:08115:4512:3:4"
+ },
+ "latitude": 48.59411,
+ "longitude": 8.86272,
+ "name": "Herrenberg",
+ "region": "DE-BW",
+ "type": "Stop"
+ }
+ },
+ {
+ "disruptionEffect": "NormalService",
+ "scheduledArrivalTime": "2026-05-13T17:50:00Z",
+ "scheduledDepartureTime": "2026-05-13T17:51:00Z",
+ "stopPoint": {
+ "country": "DE",
+ "identifier": {
+ "gtfs": "hbg:de:08115:5776:1:1"
+ },
+ "latitude": 48.559734,
+ "longitude": 8.850037,
+ "name": "Gäufelden",
+ "region": "DE-BW",
+ "type": "Stop"
+ }
+ },
+ {
+ "disruptionEffect": "NormalService",
+ "scheduledArrivalTime": "2026-05-13T17:54:00Z",
+ "scheduledDepartureTime": "2026-05-13T17:55:00Z",
+ "stopPoint": {
+ "country": "DE",
+ "identifier": {
+ "gtfs": "hbg:de:08115:4510:1:3"
+ },
+ "latitude": 48.52328,
+ "longitude": 8.827739,
+ "name": "Bondorf",
+ "region": "DE-BW",
+ "type": "Stop"
+ }
+ },
+ {
+ "disruptionEffect": "NormalService",
+ "scheduledArrivalTime": "2026-05-13T18:06:00Z",
+ "scheduledDepartureTime": "2026-05-13T18:07:00Z",
+ "stopPoint": {
+ "country": "DE",
+ "identifier": {
+ "gtfs": "hbg:de:08237:5001:3:2"
+ },
+ "latitude": 48.441578,
+ "longitude": 8.688354,
+ "name": "Horb (N)",
+ "region": "DE-BW",
+ "type": "Stop"
+ }
+ },
+ {
+ "disruptionEffect": "NormalService",
+ "scheduledArrivalTime": "2026-05-13T18:17:00Z",
+ "scheduledDepartureTime": "2026-05-13T18:17:00Z",
+ "stopPoint": {
+ "country": "DE",
+ "identifier": {
+ "gtfs": "hbg:de:08325:6590:1:2"
+ },
+ "latitude": 48.366863,
+ "longitude": 8.636862,
+ "name": "Sulz (N)",
+ "region": "DE-BW",
+ "type": "Stop"
+ }
+ },
+ {
+ "disruptionEffect": "NormalService",
+ "scheduledArrivalTime": "2026-05-13T18:26:00Z",
+ "scheduledDepartureTime": "2026-05-13T18:29:00Z",
+ "stopPoint": {
+ "country": "DE",
+ "identifier": {
+ "gtfs": "hbg:de:08325:6596:2:3"
+ },
+ "latitude": 48.295986,
+ "longitude": 8.575556,
+ "name": "Oberndorf (N)",
+ "region": "DE-BW",
+ "type": "Stop"
+ }
+ },
+ {
+ "disruptionEffect": "NormalService",
+ "scheduledArrivalTime": "2026-05-13T18:41:00Z",
+ "scheduledDepartureTime": "2026-05-13T18:42:00Z",
+ "stopPoint": {
+ "country": "DE",
+ "identifier": {
+ "gtfs": "hbg:de:08325:6584:3:5"
+ },
+ "latitude": 48.165443,
+ "longitude": 8.639292,
+ "name": "Rottweil",
+ "region": "DE-BW",
+ "type": "Stop"
+ }
+ },
+ {
+ "disruptionEffect": "NormalService",
+ "scheduledArrivalTime": "2026-05-13T18:51:00Z",
+ "scheduledDepartureTime": "2026-05-13T18:51:00Z",
+ "stopPoint": {
+ "country": "DE",
+ "identifier": {
+ "gtfs": "hbg:de:08327:1510:10:1"
+ },
+ "latitude": 48.06911,
+ "longitude": 8.740561,
+ "name": "Spaichingen",
+ "region": "DE-BW",
+ "type": "Stop"
+ }
+ },
+ {
+ "disruptionEffect": "NormalService",
+ "scheduledArrivalTime": "2026-05-13T18:59:00Z",
+ "scheduledDepartureTime": "2026-05-13T19:00:00Z",
+ "stopPoint": {
+ "country": "DE",
+ "identifier": {
+ "gtfs": "hbg:de:08327:1748:11:2"
+ },
+ "latitude": 47.98064,
+ "longitude": 8.798831,
+ "name": "Tuttlingen",
+ "region": "DE-BW",
+ "type": "Stop"
+ }
+ },
+ {
+ "disruptionEffect": "NormalService",
+ "scheduledArrivalTime": "2026-05-13T19:11:00Z",
+ "scheduledDepartureTime": "2026-05-13T19:12:00Z",
+ "stopPoint": {
+ "country": "DE",
+ "identifier": {
+ "gtfs": "hbg:de:08335:6551:2:3"
+ },
+ "latitude": 47.856388,
+ "longitude": 8.772851,
+ "name": "Engen",
+ "region": "DE-BW",
+ "type": "Stop"
+ }
+ }
+ ],
+ "mode": "PublicTransport"
+ },
+ {
+ "arrival": {
+ "disruptionEffect": "NormalService",
+ "scheduledArrivalTime": "2026-05-13T19:26:15Z",
+ "stopPoint": {
+ "country": "DE",
+ "latitude": 47.75889,
+ "longitude": 8.841116,
+ "name": "Destination",
+ "region": "DE-BW"
+ }
+ },
+ "departure": {
+ "disruptionEffect": "NormalService",
+ "scheduledDepartureTime": "2026-05-13T19:26:00Z",
+ "stopPoint": {
+ "country": "DE",
+ "identifier": {
+ "gtfs": "hbg:de:08335:6588:2:3"
+ },
+ "latitude": 47.758976,
+ "longitude": 8.841479,
+ "name": "Singen (Htw) Bahnhof",
+ "region": "DE-BW",
+ "type": "Stop"
+ }
+ },
+ "distance": 29,
+ "mode": "Walking",
+ "path": {
+ "sections": [
+ {
+ "path": {
+ "coordinates": [
+ [
+ 8.84088,
+ 47.75881
+ ],
+ [
+ 8.84108,
+ 47.75888
+ ],
+ [
+ 8.84111,
+ 47.75889
+ ]
+ ],
+ "type": "LineString"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "sections": [
+ {
+ "arrival": {
+ "disruptionEffect": "NormalService",
+ "scheduledArrivalTime": "2026-05-13T18:40:00Z",
+ "stopPoint": {
+ "country": "DE",
+ "identifier": {
+ "gtfs": "hbg:de:08111:6002:1:1"
+ },
+ "latitude": 48.72707,
+ "longitude": 9.113927,
+ "name": "Vaihingen",
+ "region": "DE-BW",
+ "type": "Stop"
+ }
+ },
+ "departure": {
+ "disruptionEffect": "NormalService",
+ "scheduledDepartureTime": "2026-05-13T18:36:38Z",
+ "stopPoint": {
+ "country": "DE",
+ "latitude": 48.7257765,
+ "longitude": 9.1136,
+ "name": "Origin",
+ "region": "DE-BW"
+ }
+ },
+ "distance": 232,
+ "mode": "Walking",
+ "path": {
+ "sections": [
+ {
+ "path": {
+ "coordinates": [
+ [
+ 9.11364,
+ 48.72574
+ ],
+ [
+ 9.11371,
+ 48.72578
+ ],
+ [
+ 9.11369,
+ 48.72579
+ ],
+ [
+ 9.11306,
+ 48.72622
+ ],
+ [
+ 9.11293,
+ 48.72632
+ ],
+ [
+ 9.1128,
+ 48.72641
+ ],
+ [
+ 9.11272,
+ 48.72647
+ ],
+ [
+ 9.11276,
+ 48.72649
+ ],
+ [
+ 9.11287,
+ 48.72656
+ ],
+ [
+ 9.1129,
+ 48.72658
+ ],
+ [
+ 9.11294,
+ 48.72655
+ ],
+ [
+ 9.11295,
+ 48.72654
+ ],
+ [
+ 9.11307,
+ 48.7266
+ ],
+ [
+ 9.11392,
+ 48.72711
+ ]
+ ],
+ "type": "LineString"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "arrival": {
+ "disruptionEffect": "NormalService",
+ "scheduledArrivalTime": "2026-05-13T20:26:00Z",
+ "stopPoint": {
+ "country": "DE",
+ "identifier": {
+ "gtfs": "hbg:de:08335:6588:2:3"
+ },
+ "latitude": 47.758976,
+ "longitude": 8.841479,
+ "name": "Singen (Htw) Bahnhof",
+ "region": "DE-BW",
+ "type": "Stop"
+ }
+ },
+ "departure": {
+ "disruptionEffect": "NormalService",
+ "route": {
+ "direction": "Singen (Htw) Bahnhof",
+ "line": {
+ "mode": "Train",
+ "name": "RE 87",
+ "operatorName": "DB Fernverkehr AG",
+ "operatorUrl": "http://www.nvbw.de"
+ },
+ "name": "50285"
+ },
+ "scheduledDepartureTime": "2026-05-13T18:40:00Z",
+ "stopPoint": {
+ "country": "DE",
+ "identifier": {
+ "gtfs": "hbg:de:08111:6002:1:1"
+ },
+ "latitude": 48.72707,
+ "longitude": 9.113927,
+ "name": "Vaihingen",
+ "region": "DE-BW",
+ "type": "Stop"
+ },
+ "vehicleLayout": {
+ "direction": "UnknownDirection",
+ "features": [
+ {
+ "availability": "Unknown",
+ "disruptionEffect": "NormalService",
+ "type": "BikeStorage"
+ },
+ {
+ "availability": "Unavailable",
+ "disruptionEffect": "NormalService",
+ "type": "WheelchairAccessible"
+ }
+ ]
+ }
+ },
+ "distance": 155935,
+ "identifiers": {
+ "gtfs": "hbg:ddb-90-X87-1-1-100-H-82-Special#12753-184-53"
+ },
+ "intermediateStops": [
+ {
+ "disruptionEffect": "NormalService",
+ "scheduledArrivalTime": "2026-05-13T18:47:00Z",
+ "scheduledDepartureTime": "2026-05-13T18:48:00Z",
+ "stopPoint": {
+ "country": "DE",
+ "identifier": {
+ "gtfs": "hbg:de:08115:7100:1:5"
+ },
+ "latitude": 48.688,
+ "longitude": 9.004382,
+ "name": "Böblingen",
+ "region": "DE-BW",
+ "type": "Stop"
+ }
+ },
+ {
+ "disruptionEffect": "NormalService",
+ "scheduledArrivalTime": "2026-05-13T19:12:00Z",
+ "scheduledDepartureTime": "2026-05-13T19:13:00Z",
+ "stopPoint": {
+ "country": "DE",
+ "identifier": {
+ "gtfs": "hbg:de:08237:5001:3:2"
+ },
+ "latitude": 48.441578,
+ "longitude": 8.688354,
+ "name": "Horb (N)",
+ "region": "DE-BW",
+ "type": "Stop"
+ }
+ },
+ {
+ "disruptionEffect": "NormalService",
+ "scheduledArrivalTime": "2026-05-13T19:23:00Z",
+ "scheduledDepartureTime": "2026-05-13T19:23:00Z",
+ "stopPoint": {
+ "country": "DE",
+ "identifier": {
+ "gtfs": "hbg:de:08325:6590:1:2"
+ },
+ "latitude": 48.366863,
+ "longitude": 8.636862,
+ "name": "Sulz (N)",
+ "region": "DE-BW",
+ "type": "Stop"
+ }
+ },
+ {
+ "disruptionEffect": "NormalService",
+ "scheduledArrivalTime": "2026-05-13T19:32:00Z",
+ "scheduledDepartureTime": "2026-05-13T19:32:00Z",
+ "stopPoint": {
+ "country": "DE",
+ "identifier": {
+ "gtfs": "hbg:de:08325:6596:2:3"
+ },
+ "latitude": 48.295986,
+ "longitude": 8.575556,
+ "name": "Oberndorf (N)",
+ "region": "DE-BW",
+ "type": "Stop"
+ }
+ },
+ {
+ "disruptionEffect": "NormalService",
+ "scheduledArrivalTime": "2026-05-13T19:44:00Z",
+ "scheduledDepartureTime": "2026-05-13T19:45:00Z",
+ "stopPoint": {
+ "country": "DE",
+ "identifier": {
+ "gtfs": "hbg:de:08325:6584:3:5"
+ },
+ "latitude": 48.165443,
+ "longitude": 8.639292,
+ "name": "Rottweil",
+ "region": "DE-BW",
+ "type": "Stop"
+ }
+ },
+ {
+ "disruptionEffect": "NormalService",
+ "scheduledArrivalTime": "2026-05-13T20:01:00Z",
+ "scheduledDepartureTime": "2026-05-13T20:03:00Z",
+ "stopPoint": {
+ "country": "DE",
+ "identifier": {
+ "gtfs": "hbg:de:08327:1748:12:5"
+ },
+ "latitude": 47.980774,
+ "longitude": 8.798482,
+ "name": "Tuttlingen",
+ "region": "DE-BW",
+ "type": "Stop"
+ }
+ }
+ ],
+ "mode": "PublicTransport"
+ },
+ {
+ "arrival": {
+ "disruptionEffect": "NormalService",
+ "scheduledArrivalTime": "2026-05-13T20:26:15Z",
+ "stopPoint": {
+ "country": "DE",
+ "latitude": 47.75889,
+ "longitude": 8.841116,
+ "name": "Destination",
+ "region": "DE-BW"
+ }
+ },
+ "departure": {
+ "disruptionEffect": "NormalService",
+ "scheduledDepartureTime": "2026-05-13T20:26:00Z",
+ "stopPoint": {
+ "country": "DE",
+ "identifier": {
+ "gtfs": "hbg:de:08335:6588:2:3"
+ },
+ "latitude": 47.758976,
+ "longitude": 8.841479,
+ "name": "Singen (Htw) Bahnhof",
+ "region": "DE-BW",
+ "type": "Stop"
+ }
+ },
+ "distance": 29,
+ "mode": "Walking",
+ "path": {
+ "sections": [
+ {
+ "path": {
+ "coordinates": [
+ [
+ 8.84088,
+ 47.75881
+ ],
+ [
+ 8.84108,
+ 47.75888
+ ],
+ [
+ 8.84111,
+ 47.75889
+ ]
+ ],
+ "type": "LineString"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/kpublictransport-26.04.1/autotests/otpparsertest.cpp
new/kpublictransport-26.04.2/autotests/otpparsertest.cpp
--- old/kpublictransport-26.04.1/autotests/otpparsertest.cpp 2026-05-04
09:18:03.000000000 +0200
+++ new/kpublictransport-26.04.2/autotests/otpparsertest.cpp 2026-06-01
05:17:55.000000000 +0200
@@ -173,6 +173,10 @@
<< s(SOURCE_DIR
"/data/otp/de-stadtnavi-bike-parking-journey.in.json")
<< s(SOURCE_DIR
"/data/otp/de-stadtnavi-bike-parking-journey.out.json")
<< s(SOURCE_DIR "/../src/lib/networks/de_bw_stadtnavi.json");
+ QTest::newRow("de-stadtnavi-route-name-journey")
+ << s(SOURCE_DIR
"/data/otp/de-stadtnavi-route-name-journey.in.json")
+ << s(SOURCE_DIR
"/data/otp/de-stadtnavi-route-name-journey.out.json")
+ << s(SOURCE_DIR "/../src/lib/networks/de_bw_stadtnavi.json");
QTest::newRow("no-entur-navigation-guides")
<< s(SOURCE_DIR "/data/otp/no-entur-navigation-guides.in.json")
<< s(SOURCE_DIR "/data/otp/no-entur-navigation-guides.out.json")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/kpublictransport-26.04.1/po/cs/kpublictransport.po
new/kpublictransport-26.04.2/po/cs/kpublictransport.po
--- old/kpublictransport-26.04.1/po/cs/kpublictransport.po 2026-05-04
09:18:03.000000000 +0200
+++ new/kpublictransport-26.04.2/po/cs/kpublictransport.po 2026-06-01
05:17:55.000000000 +0200
@@ -1,6 +1,7 @@
# Copyright (C) 2024 This file is copyright:
# This file is distributed under the same license as the kpublictransport
package.
# SPDX-FileCopyrightText: 2024, 2026 Vit Pelcak <[email protected]>
+# SPDX-FileCopyrightText: 2026 Libor Filípek <[email protected]>
#
msgid ""
msgstr ""
@@ -15,7 +16,7 @@
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
-"X-Generator: Lokalize 25.12.3\n"
+"X-Generator: Lokalize 26.04.1\n"
#: lib/datatypes/classutil.cpp:29
#, kde-format
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/kpublictransport-26.04.1/po/fr/kpublictransport.po
new/kpublictransport-26.04.2/po/fr/kpublictransport.po
--- old/kpublictransport-26.04.1/po/fr/kpublictransport.po 2026-05-04
09:18:03.000000000 +0200
+++ new/kpublictransport-26.04.2/po/fr/kpublictransport.po 2026-06-01
05:17:55.000000000 +0200
@@ -1,4 +1,4 @@
-# SPDX-FileCopyrightText: 2024, 2025, 2026 Xavier Besnard
<[email protected]>
+# SPDX-FileCopyrightText: 2024-2026 Xavier Besnard <[email protected]>
msgid ""
msgstr ""
"Project-Id-Version: kpublictransport\n"
@@ -6,13 +6,13 @@
"POT-Creation-Date: 2026-03-12 02:36+0000\n"
"PO-Revision-Date: 2025-10-31 09:42+0100\n"
"Last-Translator: Xavier Besnard <[email protected]>\n"
-"Language-Team: \n"
+"Language-Team: fr\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-"X-Generator: Lokalize 25.12.3\n"
+"X-Generator: Lokalize 26.04.1\n"
#: lib/datatypes/classutil.cpp:29
#, kde-format
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/kpublictransport-26.04.1/src/lib/backends/deutschebahnparser.cpp
new/kpublictransport-26.04.2/src/lib/backends/deutschebahnparser.cpp
--- old/kpublictransport-26.04.1/src/lib/backends/deutschebahnparser.cpp
2026-05-04 09:18:03.000000000 +0200
+++ new/kpublictransport-26.04.2/src/lib/backends/deutschebahnparser.cpp
2026-06-01 05:17:55.000000000 +0200
@@ -199,11 +199,21 @@
[[nodiscard]] static JourneySection parseJourneySection(const QJsonObject
§ionObj)
{
JourneySection section;
+ if (const auto depObj = sectionObj.value("abfahrt"_L1).toObject();
!depObj.isEmpty()) {
+
section.setScheduledDepartureTime(QDateTime::fromString(depObj.value("sollzeit"_L1).toString(),
Qt::ISODate));
+
section.setExpectedDepartureTime(QDateTime::fromString(depObj.value("echtzeit"_L1).toString(),
Qt::ISODate));
+ } else {
+
section.setScheduledDepartureTime(QDateTime::fromString(sectionObj.value("abfahrtsZeitpunkt"_L1).toString(),
Qt::ISODate));
+
section.setExpectedDepartureTime(QDateTime::fromString(sectionObj.value("ezAbfahrtsZeitpunkt"_L1).toString(),
Qt::ISODate));
+ }
-
section.setScheduledDepartureTime(QDateTime::fromString(sectionObj.value("abfahrtsZeitpunkt"_L1).toString(),
Qt::ISODate));
-
section.setExpectedDepartureTime(QDateTime::fromString(sectionObj.value("ezAbfahrtsZeitpunkt"_L1).toString(),
Qt::ISODate));
-
section.setScheduledArrivalTime(QDateTime::fromString(sectionObj.value("ankunftsZeitpunkt"_L1).toString(),
Qt::ISODate));
-
section.setExpectedArrivalTime(QDateTime::fromString(sectionObj.value("ezAnkunftsZeitpunkt"_L1).toString(),
Qt::ISODate));
+ if (const auto arrObj = sectionObj.value("ankunft"_L1).toObject();
!arrObj.isEmpty()) {
+
section.setScheduledArrivalTime(QDateTime::fromString(arrObj.value("sollzeit"_L1).toString(),
Qt::ISODate));
+
section.setExpectedArrivalTime(QDateTime::fromString(arrObj.value("echtzeit"_L1).toString(),
Qt::ISODate));
+ } else {
+
section.setScheduledArrivalTime(QDateTime::fromString(sectionObj.value("ankunftsZeitpunkt"_L1).toString(),
Qt::ISODate));
+
section.setExpectedArrivalTime(QDateTime::fromString(sectionObj.value("ezAnkunftsZeitpunkt"_L1).toString(),
Qt::ISODate));
+ }
applyNotes(section, sectionObj.value("himMeldungen"_L1).toArray());
applyNotes(section,
sectionObj.value("priorisierteMeldungen"_L1).toArray());
@@ -215,10 +225,22 @@
[[nodiscard]] static Stopover parseIntermediateStop(const QJsonObject
&stopObj, const HafasMgateParser &hafasParser)
{
Stopover stop;
-
stop.setScheduledDepartureTime(QDateTime::fromString(stopObj.value("abfahrtsZeitpunkt"_L1).toString(),
Qt::ISODate));
-
stop.setExpectedDepartureTime(QDateTime::fromString(stopObj.value("ezAbfahrtsZeitpunkt"_L1).toString(),
Qt::ISODate));
-
stop.setScheduledArrivalTime(QDateTime::fromString(stopObj.value("ankunftsZeitpunkt"_L1).toString(),
Qt::ISODate));
-
stop.setExpectedArrivalTime(QDateTime::fromString(stopObj.value("ezAnkunftsZeitpunkt"_L1).toString(),
Qt::ISODate));
+ if (const auto depObj = stopObj.value("abfahrt"_L1).toObject();
!depObj.isEmpty()) {
+
stop.setScheduledDepartureTime(QDateTime::fromString(depObj.value("sollzeit"_L1).toString(),
Qt::ISODate));
+
stop.setExpectedDepartureTime(QDateTime::fromString(depObj.value("echtzeit"_L1).toString(),
Qt::ISODate));
+ } else {
+
stop.setScheduledDepartureTime(QDateTime::fromString(stopObj.value("abfahrtsZeitpunkt"_L1).toString(),
Qt::ISODate));
+
stop.setExpectedDepartureTime(QDateTime::fromString(stopObj.value("ezAbfahrtsZeitpunkt"_L1).toString(),
Qt::ISODate));
+ }
+
+ if (const auto arrObj = stopObj.value("ankunft"_L1).toObject();
!arrObj.isEmpty()) {
+
stop.setScheduledArrivalTime(QDateTime::fromString(arrObj.value("sollzeit"_L1).toString(),
Qt::ISODate));
+
stop.setExpectedArrivalTime(QDateTime::fromString(arrObj.value("echtzeit"_L1).toString(),
Qt::ISODate));
+ } else {
+
stop.setScheduledArrivalTime(QDateTime::fromString(stopObj.value("ankunftsZeitpunkt"_L1).toString(),
Qt::ISODate));
+
stop.setExpectedArrivalTime(QDateTime::fromString(stopObj.value("ezAnkunftsZeitpunkt"_L1).toString(),
Qt::ISODate));
+ }
+
stop.setScheduledPlatform(stopObj.value("gleis"_L1).toString());
stop.setExpectedPlatform(stopObj.value("ezGleis"_L1).toString());
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/kpublictransport-26.04.1/src/lib/backends/opentripplannerparser.cpp
new/kpublictransport-26.04.2/src/lib/backends/opentripplannerparser.cpp
--- old/kpublictransport-26.04.1/src/lib/backends/opentripplannerparser.cpp
2026-05-04 09:18:03.000000000 +0200
+++ new/kpublictransport-26.04.2/src/lib/backends/opentripplannerparser.cpp
2026-06-01 05:17:55.000000000 +0200
@@ -345,8 +345,14 @@
{
auto data = parseLine(obj.value("route"_L1).toObject());
auto line = data.route.line();
+
+ // heuristic when to use trip rather than route name
if (const auto name = obj.value("tripShortName"_L1).toString();
!name.isEmpty()) {
- line.setName(name);
+ if (!line.name().isEmpty() && std::ranges::all_of(name, [](QChar c) {
return c.isDigit(); })) {
+ data.route.setName(name);
+ } else {
+ line.setName(name);
+ }
}
data.route.setLine(line);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/kpublictransport-26.04.1/src/lib/networks/ch_zh_zvv.json
new/kpublictransport-26.04.2/src/lib/networks/ch_zh_zvv.json
--- old/kpublictransport-26.04.1/src/lib/networks/ch_zh_zvv.json
2026-05-04 09:18:03.000000000 +0200
+++ new/kpublictransport-26.04.2/src/lib/networks/ch_zh_zvv.json
2026-06-01 05:17:55.000000000 +0200
@@ -11,7 +11,7 @@
"Description[es]": "Transporte público local del cantón de Zúrich,
Suiza.",
"Description[eu]": "Tokiko garraio publikoa Zürich kantonamenduan",
"Description[fi]": "Sveitsin Zürichin kantonin paikallinen julkinen
liikenne.",
- "Description[fr]": "Transports régionaux publiques de la région de
Zürich, Suisse.",
+ "Description[fr]": "Transports régionaux publiques de la région de
Zurich, Suisse.",
"Description[gl]": "Transporte público local do cantón Zürich
(Suíza).",
"Description[he]": "תחבורה ציבורית מקומית בקנטון ציריך, שווייץ",
"Description[hi]": "स्विटजरलैंड के कैंटन ज्यूरिख में स्थानीय सार्वजनिक
परिवहन",