Adding in full MTA api.

* Added in support for station search, route specific search, and several time limiting functions
Added in functional backend in flask
* starts flask app
* starts MTA app on another thread
* serves basic webpage which pull subway data from flask backend on button press.
This commit is contained in:
Lucas Oskorep
2021-06-15 19:36:33 -04:00
parent 3225a293a4
commit 103de4bc14
12 changed files with 14284 additions and 20 deletions

24
stop.py Normal file
View File

@@ -0,0 +1,24 @@
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}"