szczanieckiej.git

commit 7794ab3e83c4c861292ee0083d2a667289975e8e

Author: Adam Evyčędo <git@apiote.xyz>

add line and headsign to date-based departures

 traffic/realtime.go | 35 ++++++++++++++++++++++-------------


diff --git a/traffic/realtime.go b/traffic/realtime.go
index 9770a40423b82df7db98e2d9da47b49a1b9dfcc9..390a3ca2d8bd2818c782ca702879102fd0802af3 100644
--- a/traffic/realtime.go
+++ b/traffic/realtime.go
@@ -114,21 +114,23 @@ 		} else {
 			// log.Println("none")
 		}
 	}
+
+	offsets := make([]uint, len(departures))
+	pickups := map[string]Boarding{}
+	dropoffs := map[string]Boarding{}
+	for i, departure := range departures {
+		offsets[i] = departure.Order.TripOffset
+		pickups[departure.LineName] = departure.Departure.Pickup
+		dropoffs[departure.LineName] = departure.Departure.Dropoff
+	}
+	trips, err := GetTripsByOffset(offsets, ctx, func(Trip) bool { return true })
+	if err != nil {
+		return departures, fmt.Errorf("while getting trips: %w", err)
+	}
+
 	midnight := time.Date(datetime.Year(), datetime.Month(),
 		datetime.Day(), 0, 0, 0, 0, timezone)
 	if departuresType == DEPARTURES_HYBRID {
-		offsets := make([]uint, len(departures))
-		pickups := map[string]Boarding{}
-		dropoffs := map[string]Boarding{}
-		for i, departure := range departures {
-			offsets[i] = departure.Order.TripOffset
-			pickups[departure.LineName] = departure.Departure.Pickup
-			dropoffs[departure.LineName] = departure.Departure.Dropoff
-		}
-		trips, err := GetTripsByOffset(offsets, ctx, func(Trip) bool { return true })
-		if err != nil {
-			return departures, fmt.Errorf("while getting trips: %w", err)
-		}
 		for i, departure := range departures {
 			if departure.Time.After(midnight) {
 				var (
@@ -175,7 +177,14 @@ 				}
 			}
 		}
 	} else {
-		enrichedDepartures = departures
+		for i, departure := range departures {
+			enrichedDepartures[i] = departure.WithUpdate(Update{
+				VehicleStatus: VehicleStatus{
+					LineName: trips[departure.Order.TripOffset].LineName,
+					Headsign: trips[departure.Order.TripOffset].Headsign,
+				},
+			})
+		}
 	}
 	return enrichedDepartures, nil
 }