Files
NHL-Scoreboard/app/routes.py
josh a4dc7dff52
All checks were successful
CI / Lint (push) Successful in 5s
CI / Test (push) Successful in 6s
CI / Build & Push (push) Successful in 16s
refactor: flatten app/scoreboard/ subpackage and rename files for clarity
2026-03-29 10:16:35 -04:00

52 lines
1.4 KiB
Python

import json
from flask import render_template, jsonify
from app import app
from app.config import SCOREBOARD_DATA_FILE
from app.games import extract_game_info
@app.route("/")
def index():
return render_template("index.html")
@app.route("/scoreboard")
def get_scoreboard():
try:
with open(SCOREBOARD_DATA_FILE, "r") as json_file:
scoreboard_data = json.load(json_file)
except FileNotFoundError:
return jsonify({"error": "Failed to retrieve scoreboard data. File not found."})
except json.JSONDecodeError:
return jsonify(
{"error": "Failed to retrieve scoreboard data. Invalid JSON format."}
)
if scoreboard_data:
live_games = [
game
for game in extract_game_info(scoreboard_data)
if game["Game State"] == "LIVE"
]
pre_games = [
game
for game in extract_game_info(scoreboard_data)
if game["Game State"] == "PRE"
]
final_games = [
game
for game in extract_game_info(scoreboard_data)
if game["Game State"] == "FINAL"
]
return jsonify(
{
"live_games": live_games,
"pre_games": pre_games,
"final_games": final_games,
}
)
else:
return jsonify({"error": "Failed to retrieve scoreboard data"})