Catch exceptions in refresh()
This commit is contained in:
parent
9f87527d9a
commit
3c3199e3eb
|
|
@ -352,41 +352,44 @@ class GTFSClient():
|
||||||
"""
|
"""
|
||||||
Create and enqueue the refreshed stop data
|
Create and enqueue the refreshed stop data
|
||||||
"""
|
"""
|
||||||
# Retrieve the GTFS-R deltas
|
try:
|
||||||
deltas, canceled_trips, added_stops = self.__poll_gtfsr_deltas()
|
# Retrieve the GTFS-R deltas
|
||||||
if len(deltas) > 0 or len(canceled_trips) > 0 or len(added_stops) > 0:
|
deltas, canceled_trips, added_stops = self.__poll_gtfsr_deltas()
|
||||||
# Only update deltas and canceled trips if the API returns data
|
if len(deltas) > 0 or len(canceled_trips) > 0 or len(added_stops) > 0:
|
||||||
self.deltas = deltas
|
# Only update deltas and canceled trips if the API returns data
|
||||||
self.canceled_trips = canceled_trips
|
self.deltas = deltas
|
||||||
self.added_stops = added_stops
|
self.canceled_trips = canceled_trips
|
||||||
|
self.added_stops = added_stops
|
||||||
|
|
||||||
arrivals = []
|
arrivals = []
|
||||||
# take more entries than we need in case there are cancelations
|
# take more entries than we need in case there are cancelations
|
||||||
buses = self.get_next_n_buses(15)
|
buses = self.get_next_n_buses(15)
|
||||||
|
|
||||||
for index, bus in buses.iterrows():
|
for index, bus in buses.iterrows():
|
||||||
if not bus["trip_id"] in self.canceled_trips:
|
if not bus["trip_id"] in self.canceled_trips:
|
||||||
delta = self.deltas.get(bus["trip_id"], {}).get(bus["stop_id"], 0)
|
delta = self.deltas.get(bus["trip_id"], {}).get(bus["stop_id"], 0)
|
||||||
if delta != 0:
|
if delta != 0:
|
||||||
print("Delta for route {} stop {} is {}".format(bus["route_short_name"], bus["stop_id"], delta))
|
print("Delta for route {} stop {} is {}".format(bus["route_short_name"], bus["stop_id"], delta))
|
||||||
|
|
||||||
arrival = ArrivalTime(stop_id = bus["stop_code"],
|
arrival = ArrivalTime(stop_id = bus["stop_code"],
|
||||||
route_id = bus["route_short_name"],
|
route_id = bus["route_short_name"],
|
||||||
destination = bus["trip_headsign"],
|
destination = bus["trip_headsign"],
|
||||||
due_in_seconds = self.__due_in_seconds(bus["arrival_time"]) + delta,
|
due_in_seconds = self.__due_in_seconds(bus["arrival_time"]) + delta,
|
||||||
is_added = False
|
is_added = False
|
||||||
)
|
)
|
||||||
arrivals.append(arrival)
|
arrivals.append(arrival)
|
||||||
|
|
||||||
if len(self.added_stops) > 0:
|
if len(self.added_stops) > 0:
|
||||||
# Append the added stops from GTFS-R and re-sort
|
# Append the added stops from GTFS-R and re-sort
|
||||||
arrivals.extend(self.added_stops)
|
arrivals.extend(self.added_stops)
|
||||||
arrivals.sort()
|
arrivals.sort()
|
||||||
|
|
||||||
# Select the first 5 of what remains
|
# Select the first 5 of what remains
|
||||||
arrivals = arrivals[0:5]
|
arrivals = arrivals[0:5]
|
||||||
|
|
||||||
if self._update_queue:
|
if self._update_queue:
|
||||||
self._update_queue.put(arrivals)
|
self._update_queue.put(arrivals)
|
||||||
|
|
||||||
gc.collect()
|
gc.collect()
|
||||||
|
except Exception as e:
|
||||||
|
print("Exception in refresh: {}".format(str(e)))
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue