From 006201d8b9e5c4f8fd4547d5b0d67091d8df97f9 Mon Sep 17 00:00:00 2001 From: Copilot <198982749+Copilot@users.noreply.github.com> Date: Thu, 6 Nov 2025 19:42:29 +0100 Subject: Skip scheduled trips with unparseable GTFS times (#71) Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: arielcostas <94913521+arielcostas@users.noreply.github.com> --- .../Types/ConsolidatedCirculation.cs | 2 +- src/Costasdev.Busurbano.Backend/Types/VigoSchedules.cs | 18 +++++++++++++----- 2 files changed, 14 insertions(+), 6 deletions(-) (limited to 'src/Costasdev.Busurbano.Backend/Types') diff --git a/src/Costasdev.Busurbano.Backend/Types/ConsolidatedCirculation.cs b/src/Costasdev.Busurbano.Backend/Types/ConsolidatedCirculation.cs index ed2374f..7cc79c0 100644 --- a/src/Costasdev.Busurbano.Backend/Types/ConsolidatedCirculation.cs +++ b/src/Costasdev.Busurbano.Backend/Types/ConsolidatedCirculation.cs @@ -1,4 +1,4 @@ -namespace Costasdev.Busurbano.Backend.Types; +namespace Costasdev.Busurbano.Backend.Types; public class ConsolidatedCirculation { diff --git a/src/Costasdev.Busurbano.Backend/Types/VigoSchedules.cs b/src/Costasdev.Busurbano.Backend/Types/VigoSchedules.cs index 25fc34f..76c8fa1 100644 --- a/src/Costasdev.Busurbano.Backend/Types/VigoSchedules.cs +++ b/src/Costasdev.Busurbano.Backend/Types/VigoSchedules.cs @@ -1,4 +1,4 @@ -using System.Text.Json.Serialization; +using System.Text.Json.Serialization; namespace Costasdev.Busurbano.Backend.Types; @@ -18,17 +18,25 @@ public class ScheduledStop [JsonPropertyName("starting_code")] public required string StartingCode { get; set; } [JsonPropertyName("starting_name")] public required string StartingName { get; set; } [JsonPropertyName("starting_time")] public required string StartingTime { get; set; } - public DateTime StartingDateTime() + public DateTime? StartingDateTime() { - var dt = DateTime.Today + TimeOnly.Parse(StartingTime).ToTimeSpan(); + if (!TimeOnly.TryParse(StartingTime, out var time)) + { + return null; + } + var dt = DateTime.Today + time.ToTimeSpan(); return dt.AddSeconds(60 - dt.Second); } [JsonPropertyName("calling_ssm")] public required int CallingSsm { get; set; } [JsonPropertyName("calling_time")] public required string CallingTime { get; set; } - public DateTime CallingDateTime() + public DateTime? CallingDateTime() { - var dt = DateTime.Today + TimeOnly.Parse(CallingTime).ToTimeSpan(); + if (!TimeOnly.TryParse(CallingTime, out var time)) + { + return null; + } + var dt = DateTime.Today + time.ToTimeSpan(); return dt.AddSeconds(60 - dt.Second); } -- cgit v1.3