Author: Adam <git@apiote.xyz>
fix parsing json from lua updates
traffic/brussels_stib_mivb.go | 11 +++++++++++ traffic/realtime.go | 2 +- traffic/realtime_lua.go | 1 +
diff --git a/traffic/brussels_stib_mivb.go b/traffic/brussels_stib_mivb.go index 10f10fce61b5a42a6996679066e515166f81aa43..bbfb1d402fe2354c41b22958cc93f0649cb06354 100644 --- a/traffic/brussels_stib_mivb.go +++ b/traffic/brussels_stib_mivb.go @@ -102,6 +102,17 @@ updates = { areTripsInTimetable=false, updates={} } + updates.updates[''] = { + time="000000", + stopID=stopID, + delay=0, + timetableRelationship=1, + vehicleStatus={ + lineName="", + headsign="" + } + } + for i,entry in ipairs(struct.results) do times, error_message = json.decode(entry.passingtimes) diff --git a/traffic/realtime.go b/traffic/realtime.go index 7f2582e87fc8430243fffbb53c616ce454dbe036..4b72058b5767772208b1383c2565f2b98fecf26c 100644 --- a/traffic/realtime.go +++ b/traffic/realtime.go @@ -135,7 +135,7 @@ departures := make([]DepartureRealtime, len(updates)) now := time.Now().In(timezone) i := 0 for _, update := range updates { - departureTime, err := time.ParseInLocation("150405", update.Time, timezone) + departureTime, err := time.ParseInLocation("150405", update.Time, timezone) // FIXME might be "" if err != nil { return departures, fmt.Errorf("while parsing time: %w", err) } diff --git a/traffic/realtime_lua.go b/traffic/realtime_lua.go index a2f31c342cc949b14cad5f486f4162df15327114..2ecdedc5b54cc4c4a9bbaf99e26bbd5c859dfc4a 100644 --- a/traffic/realtime_lua.go +++ b/traffic/realtime_lua.go @@ -100,6 +100,7 @@ err := json.Unmarshal([]byte(result.(lua.LString)), &luaUpdates) if err != nil { return luaUpdates.Updates, true, fmt.Errorf("while unmarshalling updates : %w", err) } + delete(luaUpdates.Updates, "") vehicleStatuses, err := getLuaRealtimeVehiclesMap(ctx) if err != nil {