[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [publictransport] engine/script/serviceProviders: Fix route times for de_rmv
From:       Friedrich_Karl_Tilman_Pülz <fpuelz () gmx ! de>
Date:       2012-11-30 20:36:57
Message-ID: 20121130203657.9688CA60D8 () git ! kde ! org
[Download RAW message or body]

Git commit 7d8c6e4c68365c0719e7ced0bc3f9dc4e9f36821 by Friedrich Karl Tilman Pülz.
Committed on 28/11/2012 at 06:06.
Pushed by fkpulz into branch 'master'.

Fix route times for de_rmv

Fix script function Hafas.timetable.parser.parseXmlResC(),
it used strings instead of Date objects for RouteTimes.
Currently only used by de_rmv.

M  +14   -3    engine/script/serviceProviders/base_hafas_timetable.js

http://commits.kde.org/publictransport/7d8c6e4c68365c0719e7ced0bc3f9dc4e9f36821

diff --git a/engine/script/serviceProviders/base_hafas_timetable.js \
b/engine/script/serviceProviders/base_hafas_timetable.js index d46f6ba..028d998 \
                100644
--- a/engine/script/serviceProviders/base_hafas_timetable.js
+++ b/engine/script/serviceProviders/base_hafas_timetable.js
@@ -339,15 +339,26 @@ var __hafas_timetable = function(hafas) {
                     // <PassList> tag contains stops on the route of the line, \
                inside <BasicStop> tags
                     var routeStopList = \
node.firstChildElement("PassList").elementsByTagName("BasicStop");  var \
routeStopCount = routeStopList.count(); +
+                    // Use date of the first timetable item for route times
                     for ( var r = 0; r < routeStopCount; ++r ) {
                         var routeStop = routeStopList.at( r );
 
                         departure.RouteStops.push(
                             \
                helper.trim(routeStop.firstChildElement("Location").firstChildElement("Station")
                
                             \
                .firstChildElement("HafasName").firstChildElement("Text").text()) );
-                        departure.RouteTimes.push( /*QTime::fromString(*/
-                            \
                routeStop.firstChildElement("Arr").firstChildElement("Time").text()/*, \
                "hh:mm" )*/
-                                );
+
+                        var timeString = \
routeStop.firstChildElement("Arr").firstChildElement("Time").text(); +                \
var time = helper.matchTime( timeString, options.xmlTimeFormat  ); +                  \
if ( time.error ) { +                            helper.error( \
"Hafas.timetable.parse(): Cannot parse time", +                                       \
node.attributeNode("fpTime").nodeValue() ); +                            continue;
+                        }
+                        var routeDateTime = new Date();
+                        routeDateTime.setTime( dateTime.getTime() );
+                        routeDateTime.setHours( time.hour, time.minute, 0, 0 );
+                        departure.RouteTimes.push( routeDateTime );
                     }
 
                     // Other information is found in the <JourneyAttributeList> tag \
which contains


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic