New date and time behavior, improved typing
This commit is contained in:
@@ -1,19 +1,20 @@
|
||||
from datetime import datetime
|
||||
from typing import Union
|
||||
|
||||
|
||||
class Stop:
|
||||
"""Stop object."""
|
||||
|
||||
def __init__(self, data: dict):
|
||||
self.name = data["name"]
|
||||
self.id = data["id"]
|
||||
self.ext_id = data.get("extId")
|
||||
self.description = data.get("description")
|
||||
self.lon = data["lon"]
|
||||
self.lat = data["lat"]
|
||||
self.route_index = data.get("routeIdx")
|
||||
self.track_arrival = data.get("arrTrack")
|
||||
self.track_departure = data.get("depTrack")
|
||||
self.name: str = data["name"]
|
||||
self.id: str = data["id"]
|
||||
self.ext_id: Union[str, None] = data.get("extId")
|
||||
self.description: Union[str, None] = data.get("description")
|
||||
self.lon: float = data["lon"]
|
||||
self.lat: float = data["lat"]
|
||||
self.route_index: Union[int, None] = data.get("routeIdx")
|
||||
self.track_arrival: Union[str, None] = data.get("arrTrack")
|
||||
self.track_departure: Union[str, None] = data.get("depTrack")
|
||||
|
||||
def __str__(self) -> str:
|
||||
return f"Stop {self.name} at {self.lon}, {self.lat}"
|
||||
@@ -23,10 +24,11 @@ class StopTrip(Stop):
|
||||
"""Trip stop object. It's like a Stop object, but with a date and time."""
|
||||
|
||||
def __init__(self, data: dict):
|
||||
self.type = data["type"]
|
||||
self.date = datetime.strptime(data["date"], "%Y-%m-%d")
|
||||
self.time = datetime.strptime(data["time"], "%H:%M:%S")
|
||||
self.type: str = data["type"]
|
||||
self.time: datetime = datetime.strptime(
|
||||
f"{data['date']} {data['time']}", "%Y-%m-%d %H:%M:%S"
|
||||
)
|
||||
super().__init__(data)
|
||||
|
||||
def __str__(self) -> str:
|
||||
return f"Stop {self.name} at {self.lon}, {self.lat} at {self.time.time()} {self.date.date()}"
|
||||
return f"Stop {self.name} at {self.lon}, {self.lat} at {self.time.time()}"
|
||||
|
Reference in New Issue
Block a user