Skip to content

Commit

Permalink
Allow live departures between timetable data
Browse files Browse the repository at this point in the history
  • Loading branch information
warrior25 committed Apr 6, 2024
1 parent e6185ce commit 9f1dfc0
Showing 1 changed file with 13 additions and 5 deletions.
18 changes: 13 additions & 5 deletions custom_components/nysse/sensor.py
Original file line number Diff line number Diff line change
Expand Up @@ -171,15 +171,23 @@ async def async_update(self) -> None:
departures = await self._fetch_departures()
departures = self._remove_unwanted_departures(departures)
if len(departures) < self._max_items:
from_time = self._last_update_time + timedelta(minutes=self._timelimit)
if len(departures) > 0:
from_time = parser.parse(departures[-1]["aimed_departure_time"])
self._journeys = await get_stop_times(
self._stop_code,
self._lines,
self._max_items - len(departures),
from_time,
self._max_items,
self._last_update_time + timedelta(minutes=self._timelimit),
)
for journey in self._journeys[:]:
for departure in departures:
departure_time = parser.parse(departure["aimed_departure_time"])
journey_time = dt_util.as_local(
parser.parse(journey["departure_time"])
)
if (
journey_time == departure_time
and journey["route_id"] == departure["route_id"]
):
self._journeys.remove(journey)
else:
self._journeys.clear()

Expand Down

0 comments on commit 9f1dfc0

Please sign in to comment.