From 6ba617b1bcde034b11f2a6f877c6447cd7427519 Mon Sep 17 00:00:00 2001 From: Jannis R Date: Sat, 17 Mar 2018 16:41:57 +0100 Subject: [PATCH] let parseMovement use parseStopover :bug: --- p/vbb/index.js | 4 ++-- parse/journey-leg.js | 2 +- parse/movement.js | 29 ++--------------------------- parse/stopover.js | 6 +++--- 4 files changed, 8 insertions(+), 33 deletions(-) diff --git a/p/vbb/index.js b/p/vbb/index.js index 3f9f9ecd..af4b86fd 100644 --- a/p/vbb/index.js +++ b/p/vbb/index.js @@ -99,8 +99,8 @@ const createParseJourney = (profile, stations, lines, remarks) => { return parseJourneyWithTickets } -const createParseStopover = (profile, stations, lines, remarks, connection) => { - const parseStopover = _createParseStopover(profile, stations, lines, remarks, connection) +const createParseStopover = (profile, stations, lines, remarks, date) => { + const parseStopover = _createParseStopover(profile, stations, lines, remarks, date) const parseStopoverWithShorten = (st) => { const res = parseStopover(st) diff --git a/parse/journey-leg.js b/parse/journey-leg.js index 3c0651bc..c226da83 100644 --- a/parse/journey-leg.js +++ b/parse/journey-leg.js @@ -47,7 +47,7 @@ const createParseJourneyLeg = (profile, stations, lines, remarks) => { if (pt.arr.aPlatfS) res.arrivalPlatform = pt.arr.aPlatfS if (passed && pt.jny.stopL) { - const parse = profile.parseStopover(profile, stations, lines, remarks, j) + const parse = profile.parseStopover(profile, stations, lines, remarks, j.date) const passedStations = pt.jny.stopL.map(parse) // filter stations the train passes without stopping, as this doesn't comply with fptf (yet) res.passed = passedStations.filter((x) => !x.passBy) diff --git a/parse/movement.js b/parse/movement.js index e03a3821..4a006026 100644 --- a/parse/movement.js +++ b/parse/movement.js @@ -9,32 +9,7 @@ const createParseMovement = (profile, locations, lines, remarks) => { // todo: what is m.ani.proc[n]? wut? // todo: how does m.ani.poly work? const parseMovement = (m) => { - const parseNextStop = (s) => { - const dep = s.dTimeR || s.dTimeS - ? profile.parseDateTime(profile, m.date, s.dTimeR || s.dTimeS) - : null - const arr = s.aTimeR || s.aTimeS - ? profile.parseDateTime(profile, m.date, s.aTimeR || s.aTimeS) - : null - - const res = { - station: locations[s.locX], - departure: dep ? dep.toISO() : null, - arrival: arr ? arr.toISO() : null - } - - if (m.dTimeR && m.dTimeS) { - const plannedDep = profile.parseDateTime(profile, m.date, s.dTimeS) - res.departureDelay = Math.round((dep - plannedDep) / 1000) - } else res.departureDelay = null - - if (m.aTimeR && m.aTimeS) { - const plannedArr = profile.parseDateTime(profile, m.date, s.aTimeS) - res.arrivalDelay = Math.round((arr - plannedArr) / 1000) - } else res.arrivalDelay = null - - return res - } + const pStopover = profile.parseStopover(profile, locations, lines, remarks, m.date) const res = { direction: profile.parseStationName(m.dirTxt), @@ -45,7 +20,7 @@ const createParseMovement = (profile, locations, lines, remarks) => { latitude: m.pos.y / 1000000, longitude: m.pos.x / 1000000 } : null, - nextStops: m.stopL.map(parseNextStop), + nextStops: m.stopL.map(pStopover), frames: [] } diff --git a/parse/stopover.js b/parse/stopover.js index e17e1be3..0140ff57 100644 --- a/parse/stopover.js +++ b/parse/stopover.js @@ -2,17 +2,17 @@ // todo: arrivalDelay, departureDelay or only delay ? // todo: arrivalPlatform, departurePlatform -const createParseStopover = (profile, stations, lines, remarks, connection) => { +const createParseStopover = (profile, stations, lines, remarks, date) => { const parseStopover = (st) => { const res = { station: stations[parseInt(st.locX)] || null } if (st.aTimeR || st.aTimeS) { - const arr = profile.parseDateTime(profile, connection.date, st.aTimeR || st.aTimeS) + const arr = profile.parseDateTime(profile, date, st.aTimeR || st.aTimeS) res.arrival = arr.toISO() } if (st.dTimeR || st.dTimeS) { - const dep = profile.parseDateTime(profile, connection.date, st.dTimeR || st.dTimeS) + const dep = profile.parseDateTime(profile, date, st.dTimeR || st.dTimeS) res.departure = dep.toISO() }