Spaces:
Running
Running
File size: 1,144 Bytes
0170ac5 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
from datetime import datetime, date, time, timedelta
def hms_to_seconds(hms_str):
"""Converts GTFS 'HH:MM:SS' (e.g. '25:30:00') to total seconds from midnight."""
h, m, s = map(int, hms_str.split(':'))
return (h * 3600) + (m * 60) + s
def get_service_day_start_ts():
"""
Returns the Unix timestamp for 00:00:00 of the CURRENT service day.
TTC service day typically flips at 4:00 AM.
"""
now = datetime.now()
# If it's 2 AM, we are still technically on 'yesterday's' schedule
if now.hour < 4:
service_date = date.today() - timedelta(days=1)
else:
service_date = date.today()
# Combine that date with 00:00:00 and get the timestamp
service_start_dt = datetime.combine(service_date, time.min)
return int(service_start_dt.timestamp())
def translate_occupancy(status):
"""Maps GTFS occupancy enums to human readable strings."""
mapping = {
0: "Empty", 1: "Many Seats Available", 2: "Few Seats Available",
3: "No Seats Available", 5: "Full", 6: "Not In Service"
}
return mapping.get(status, "Full") # when in doubt assume the bus is full |