28 lines
903 B
Python
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()
|