From f054b11743cc71eb4810f8f1bf16b964d1b97c58 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matt=C3=A9o=20Delabre?= Date: Thu, 23 Jul 2020 01:02:22 +0200 Subject: [PATCH] Exclude unknown data from realtime --- src/tam/realtime.js | 23 +++++++++++++++++++++++ src/tam/simulation.js | 6 ------ 2 files changed, 23 insertions(+), 6 deletions(-) diff --git a/src/tam/realtime.js b/src/tam/realtime.js index e24eef3..1e28b81 100644 --- a/src/tam/realtime.js +++ b/src/tam/realtime.js @@ -1,5 +1,6 @@ const tam = require('./sources/tam'); const util = require('../util'); +const network = require('./network.json'); /** * Comparison function between two stop passings. @@ -57,6 +58,28 @@ const getCourses = () => new Promise((res, rej) => if (!util.isObject(entry)) { + // Filter courses to only keep those referring to known data + for (let courseId of Object.keys(courses)) + { + const course = courses[courseId]; + + if (!(course.line in network.lines)) + { + delete courses[courseId]; + } + else + { + for (let passing of course.nextPassings) + { + if (!(passing.stopId in network.stops)) + { + delete courses[courseId]; + break; + } + } + } + } + // End of courses information stream. Sort next stops by increasing // arrival time in each course then save result in memory cache for (let course of Object.values(courses)) diff --git a/src/tam/simulation.js b/src/tam/simulation.js index c08e3fe..41bcb49 100644 --- a/src/tam/simulation.js +++ b/src/tam/simulation.js @@ -71,12 +71,6 @@ const updateFromTam = async (courses) => for (let [id, course] of Object.entries(currentCourses)) { - // Only track selected lines - if (!['1', '2', '3', '4'].includes(course.line)) - { - continue; - } - // Find out the next stop, ignoring the ones that are in the past let nextStop = null; let arrivalTime = null;