25 lines
878 B
Python
25 lines
878 B
Python
from time import time
|
|
from datetime import datetime
|
|
from math import trunc
|
|
|
|
def get_stop_from_dict(obj):
|
|
if "arrival" in obj and "departure" in obj and "stop_id" in obj:
|
|
return Stop(obj["arrival"]["time"], obj["departure"]["time"], obj["stop_id"])
|
|
return None
|
|
|
|
|
|
class Stop(object):
|
|
def __init__(self, arrival_time, departure_time, stop_id):
|
|
self.arrival_time = arrival_time
|
|
self.departure_time = departure_time
|
|
self.stop_id = stop_id
|
|
|
|
def arrival_minutes(self):
|
|
return trunc(((datetime.fromtimestamp(self.arrival_time) - datetime.now()).total_seconds()) / 60)
|
|
|
|
def __str__(self):
|
|
now = datetime.now()
|
|
time = datetime.fromtimestamp(self.arrival_time)
|
|
time_minutes = trunc(((time - now).total_seconds()) / 60)
|
|
return f"arr:{time_minutes}|dep:{self.departure_time}|stop_id:{self.stop_id}"
|