Merge pull request #15 from JoshNotWright/feature/update-standings

Feature: Update NHL standings automatically
This commit is contained in:
2024-02-18 22:42:50 -05:00
committed by GitHub
4 changed files with 22 additions and 20 deletions

1
.gitignore vendored
View File

@@ -1,2 +1,3 @@
/nhle_scoreboard_response.txt
/nhle_standings_response.txt
/nhl_standings.db

12
app.py
View File

@@ -7,6 +7,7 @@ import threading
import time
import schedule
import json
from update_nhl_standings_db import update_nhl_standings
app = Flask(__name__)
@@ -39,8 +40,9 @@ def store_scoreboard_data():
global scoreboard_data
scoreboard_data = get_nhle_scoreboard()
# Schedule the task to run every 10 seconds
def schedule_task():
# Schedule tasks
def schedule_tasks():
schedule.every(300).seconds.do(update_nhl_standings)
schedule.every(10).seconds.do(store_scoreboard_data)
while True:
schedule.run_pending()
@@ -157,9 +159,6 @@ def get_game_outcome(game_state, game):
return last_period_type
def calculate_game_priority(game):
if game["gameState"] in ["FINAL", "OFF", "PRE", "FUT"] or game["clock"]["inIntermission"]:
return 0
@@ -250,5 +249,6 @@ def get_scoreboard():
if __name__ == '__main__':
store_scoreboard_data()
threading.Thread(target=schedule_task).start()
update_nhl_standings()
threading.Thread(target=schedule_tasks).start()
serve(app, host="0.0.0.0", port=2897)

Binary file not shown.

View File

@@ -44,21 +44,22 @@ def extract_standings_info():
print("Error:", response.status_code)
return None
# Connect to SQLite database
conn = sqlite3.connect("nhl_standings.db")
def update_nhl_standings():
# Connect to SQLite database
conn = sqlite3.connect("nhl_standings.db")
# Create standings table if it doesn't exist
create_standings_table(conn)
# Create standings table if it doesn't exist
create_standings_table(conn)
# Truncate standings table before inserting new data
truncate_standings_table(conn)
# Truncate standings table before inserting new data
truncate_standings_table(conn)
# Extract standings info
standings_info = extract_standings_info()
# Extract standings info
standings_info = extract_standings_info()
# Insert standings info into the database
if standings_info:
insert_standings_info(conn, standings_info)
# Insert standings info into the database
if standings_info:
insert_standings_info(conn, standings_info)
# Close database connection
conn.close()
# Close database connection
conn.close()