tarc/app.py

29 lines
878 B
Python
Raw Normal View History

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