Added boxscores API to Flask server
This commit is contained in:
BIN
src/__pycache__/boxscores.cpython-310.pyc
Normal file
BIN
src/__pycache__/boxscores.cpython-310.pyc
Normal file
Binary file not shown.
22
src/boxscores.py
Normal file
22
src/boxscores.py
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
from nba_api.stats.endpoints import boxscoretraditionalv2
|
||||||
|
from nba_api.stats.static import teams
|
||||||
|
from nba_api.stats.endpoints import leaguegamefinder
|
||||||
|
|
||||||
|
def boxscores_For_Latest_Game():
|
||||||
|
|
||||||
|
nba_teams = teams.get_teams()
|
||||||
|
# Select the dictionary for the Celtics, which contains their team ID
|
||||||
|
kings = [team for team in nba_teams if team['abbreviation'] == 'SAC'][0]
|
||||||
|
kings_id = kings['id']
|
||||||
|
|
||||||
|
|
||||||
|
# Query for games where the Celtics were playing
|
||||||
|
gamefinder = leaguegamefinder.LeagueGameFinder(team_id_nullable=kings_id)
|
||||||
|
# The first DataFrame of those returned is what we want.
|
||||||
|
games = gamefinder.get_data_frames()[0]
|
||||||
|
games.head()
|
||||||
|
|
||||||
|
|
||||||
|
boxScore = boxscoretraditionalv2.BoxScoreTraditionalV2(games.head()["GAME_ID"][0])
|
||||||
|
|
||||||
|
return(boxScore.get_dict())
|
||||||
55
src/index.html
Normal file
55
src/index.html
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>BANG</title>
|
||||||
|
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
|
||||||
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" integrity="sha384-T3c6CoIi6uLrA9TneNEoa7RxnatzjcDSCmG1MXxSR1GAsXEV/Dwwykc2MPK8M2HN" crossorigin="anonymous">
|
||||||
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.min.js" integrity="sha384-BBtl+eGJRgqQAUMxJ7pMwbEyER4l1g+O15P+16Ep7Q9Q+zqX6gSbd85u4mG4QzX+" crossorigin="anonymous"></script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<h2>TABLE</h2>
|
||||||
|
<table class="table table-bordered">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>Player</th>
|
||||||
|
<th>FGM</th>
|
||||||
|
<th>FGA</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<td id="player"></td>
|
||||||
|
<td id="fgm"></td>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
<script>
|
||||||
|
// Extracting PLAYER_NAME from the JSON
|
||||||
|
$.getJSON('http://127.0.0.1:5000/boxscore', function(jsonData) {
|
||||||
|
// Extracting PLAYER_NAME from the JSON
|
||||||
|
const playerStats = jsonData.resultSets[0].rowSet.map(row => ({
|
||||||
|
playerName: row[5],
|
||||||
|
fgm: row[10],
|
||||||
|
fga: row[11]
|
||||||
|
}));
|
||||||
|
|
||||||
|
// Selecting the table body
|
||||||
|
const tbody = $('tbody');
|
||||||
|
|
||||||
|
// Populating the table with player names
|
||||||
|
playerStats.forEach(stats => {
|
||||||
|
if (stats.fga == null) {
|
||||||
|
stats.fga = 0;
|
||||||
|
stats.fgm = 0;
|
||||||
|
}
|
||||||
|
const row = $('<tr>');
|
||||||
|
const playerNameCell = $('<td>').text(stats.playerName);
|
||||||
|
const fgaCell = $('<td>').text(stats.fgm);
|
||||||
|
const fgmCell = $('<td>').text(stats.fga);
|
||||||
|
row.append(playerNameCell, fgaCell, fgmCell); // Appending both cells to the same row
|
||||||
|
tbody.append(row);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
14
src/main.py
Normal file
14
src/main.py
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
import boxscores
|
||||||
|
from flask import Flask, jsonify
|
||||||
|
from flask_cors import CORS
|
||||||
|
|
||||||
|
app = Flask(__name__)
|
||||||
|
CORS(app)
|
||||||
|
|
||||||
|
@app.route("/boxscore")
|
||||||
|
def names():
|
||||||
|
return jsonify(boxscores.boxscores_For_Latest_Game())
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
app.run(debug=True)
|
||||||
|
|
||||||
2
src/requirements.txt
Normal file
2
src/requirements.txt
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
nba_api
|
||||||
|
flask
|
||||||
Reference in New Issue
Block a user