dublinbus-display/arrival_times.py

27 lines
900 B
Python

import datetime
class ArrivalTime():
""" Represents the arrival times of buses at one of the configured stops """
def __init__(self, stop_id: str, route_id: str, destination: str, due_in_seconds: int) -> None:
self.stop_id = stop_id
self.route_id = route_id
self.destination = destination
self.due_in_seconds = due_in_seconds
@property
def due_in_minutes(self) -> int:
return int(self.due_in_seconds / 60)
def isDue(self) -> bool:
return self.due_in_minutes < 1
def due_in_str(self) -> str:
if self.due_in_minutes < 60:
return str(self.due_in_minutes) + "min"
else:
due_in = datetime.datetime.now() + datetime.timedelta(0, self.due_in_seconds)
return due_in.strftime("%H:%M")
def __lt__(self, other) -> int:
return self.due_in_seconds < other.due_in_seconds