From 1abb5155e33ca5c7eef8555314ce87e50f4317cf Mon Sep 17 00:00:00 2001 From: Dan Cojocaru Date: Thu, 2 Mar 2023 23:06:26 +0100 Subject: [PATCH] Attempt adding cancelled stops to train scraper --- scraper/src/Models/Station.cs | 3 --- scraper/src/Models/Status.cs | 3 +++ scraper/src/Scrapers/Train.cs | 7 ++++++- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/scraper/src/Models/Station.cs b/scraper/src/Models/Station.cs index 400f598..7c3caf7 100644 --- a/scraper/src/Models/Station.cs +++ b/scraper/src/Models/Station.cs @@ -37,9 +37,6 @@ namespace InfoferScraper.Models.Station { } public interface IStationStatus : IStatus { - new int Delay { get; } - new bool Real { get; } - public bool Cancelled { get; } public string? Platform { get; } } diff --git a/scraper/src/Models/Status.cs b/scraper/src/Models/Status.cs index 0b91f64..696f04b 100644 --- a/scraper/src/Models/Status.cs +++ b/scraper/src/Models/Status.cs @@ -6,10 +6,13 @@ namespace InfoferScraper.Models.Status { /// Determines whether delay was actually reported or is an approximation /// public bool Real { get; } + + public bool Cancelled { get; } } internal record Status : IStatus { public int Delay { get; set; } public bool Real { get; set; } + public bool Cancelled { get; set; } } } diff --git a/scraper/src/Scrapers/Train.cs b/scraper/src/Scrapers/Train.cs index 57cd25b..abd2c40 100644 --- a/scraper/src/Scrapers/Train.cs +++ b/scraper/src/Scrapers/Train.cs @@ -201,7 +201,12 @@ namespace InfoferScraper.Scrapers { statusElement.Text().WithCollapsedSpaces(replaceWith: " ") ).Groups as IEnumerable).Skip(1).Select(group => group.Value); arrDep.MakeStatus(status => { - status.Delay = string.IsNullOrEmpty(onTime) ? int.Parse(delay) : 0; + if (string.IsNullOrEmpty(onTime) && delay == null) { + status.Cancelled = true; + } + else { + status.Delay = string.IsNullOrEmpty(onTime) ? int.Parse(delay) : 0; + } status.Real = string.IsNullOrEmpty(approx); }); }