tarc/app.py
2025-03-25 17:18:11 -04:00

28 lines
903 B
Python

from flask import Flask, jsonify, render_template, send_from_directory
from flask_caching import Cache
import requests
app = Flask(__name__)
app.config['CACHE_TYPE'] = 'SimpleCache'
cache = Cache(app)
data=requests.get("https://tarc.rideralerts.com/InfoPoint/rest/Routes/GetVisibleRoutes").json()
routes=",".join(str(r.get('RouteId')) for r in data)
@app.route("/")
def index():
return render_template("map.html")
@app.route("/bus.svg")
def favicon():
return send_from_directory(app.static_folder,"bus.svg")
@app.route('/tarc.csv')
@cache.cached(timeout=5)
def tarc():
d=requests.get("https://tarc.rideralerts.com/InfoPoint/rest/Vehicles/GetAllVehiclesForRoutes?routeIDs="+routes).json()
return "\n".join(f"{v['Latitude']},{v['Longitude']},{v['RouteId']},{v['Name']},{v['OnBoard']},{v['DirectionLong']},{v['Speed']},{v['LastUpdated'][6:16]}" for v in d)
if __name__ == '__main__':
app.run()