diff --git a/app/db_engine.py b/app/db_engine.py index b7849b0..9cf697b 100644 --- a/app/db_engine.py +++ b/app/db_engine.py @@ -36,14 +36,6 @@ else: pragmas={"journal_mode": "wal", "cache_size": -1 * 64000, "synchronous": 0}, ) -date = f"{datetime.now().year}-{datetime.now().month}-{datetime.now().day}" -log_level = logging.INFO if os.environ.get("LOG_LEVEL") == "INFO" else "WARN" -logging.basicConfig( - filename=f"logs/database/{date}.log", - format="%(asctime)s - database - %(levelname)s - %(message)s", - level=log_level, -) - # 2025, 2005 ranked_cardsets = [24, 25, 26, 27, 28, 29] LIVE_CARDSET_ID = 27 @@ -925,7 +917,13 @@ CardPosition.add_index(pos_index) if not SKIP_TABLE_CREATION: db.create_tables( - [BattingCard, BattingCardRatings, PitchingCard, PitchingCardRatings, CardPosition], + [ + BattingCard, + BattingCardRatings, + PitchingCard, + PitchingCardRatings, + CardPosition, + ], safe=True, ) diff --git a/app/dependencies.py b/app/dependencies.py index 7120c59..40902d8 100644 --- a/app/dependencies.py +++ b/app/dependencies.py @@ -5,21 +5,6 @@ import os import requests from fastapi.security import OAuth2PasswordBearer -date = f"{datetime.datetime.now().year}-{datetime.datetime.now().month}-{datetime.datetime.now().day}" -LOG_DATA = { - "filename": f"logs/database/{date}.log", - "format": "%(asctime)s - database - %(levelname)s - %(message)s", - "log_level": logging.INFO if os.environ.get("LOG_LEVEL") == "INFO" else "WARN", -} - - -logging.basicConfig( - filename=LOG_DATA["filename"], - format=LOG_DATA["format"], - level=LOG_DATA["log_level"], -) - - oauth2_scheme = OAuth2PasswordBearer(tokenUrl="token") master_debug = False DB_URL = "https://pd.manticorum.com/api/" diff --git a/app/main.py b/app/main.py index ddcafe3..55d7233 100644 --- a/app/main.py +++ b/app/main.py @@ -1,7 +1,18 @@ +import logging +import os +from datetime import datetime + from fastapi import FastAPI, Request from fastapi.openapi.docs import get_swagger_ui_html from fastapi.openapi.utils import get_openapi +_log_date = f"{datetime.now().year}-{datetime.now().month}-{datetime.now().day}" +logging.basicConfig( + filename=f"logs/database/{_log_date}.log", + format="%(asctime)s - database - %(levelname)s - %(message)s", + level=logging.INFO if os.environ.get("LOG_LEVEL") == "INFO" else logging.WARNING, +) + # from fastapi.staticfiles import StaticFiles # from fastapi.templating import Jinja2Templates diff --git a/app/routers_v2/admin.py b/app/routers_v2/admin.py index d4819c9..552de3c 100644 --- a/app/routers_v2/admin.py +++ b/app/routers_v2/admin.py @@ -2,13 +2,8 @@ from fastapi import APIRouter, Depends, HTTPException import logging from ..db_engine import Player -from ..dependencies import oauth2_scheme, valid_token, LOG_DATA, PRIVATE_IN_SCHEMA +from ..dependencies import oauth2_scheme, valid_token, PRIVATE_IN_SCHEMA -logging.basicConfig( - filename=LOG_DATA['filename'], - format=LOG_DATA['format'], - level=LOG_DATA['log_level'] -) router = APIRouter( prefix='/api/v2/admin', diff --git a/app/routers_v2/awards.py b/app/routers_v2/awards.py index 6914bfe..10d5f5d 100644 --- a/app/routers_v2/awards.py +++ b/app/routers_v2/awards.py @@ -5,13 +5,8 @@ import pydantic from pandas import DataFrame from ..db_engine import Award, model_to_dict -from ..dependencies import oauth2_scheme, valid_token, LOG_DATA, PRIVATE_IN_SCHEMA +from ..dependencies import oauth2_scheme, valid_token, PRIVATE_IN_SCHEMA -logging.basicConfig( - filename=LOG_DATA['filename'], - format=LOG_DATA['format'], - level=LOG_DATA['log_level'] -) router = APIRouter( prefix='/api/v2/awards', diff --git a/app/routers_v2/batstats.py b/app/routers_v2/batstats.py index 909c9bf..20514ee 100644 --- a/app/routers_v2/batstats.py +++ b/app/routers_v2/batstats.py @@ -7,13 +7,8 @@ import pydantic from pandas import DataFrame from ..db_engine import db, BattingStat, model_to_dict, fn, Card, Player, Current -from ..dependencies import oauth2_scheme, valid_token, LOG_DATA, PRIVATE_IN_SCHEMA +from ..dependencies import oauth2_scheme, valid_token, PRIVATE_IN_SCHEMA -logging.basicConfig( - filename=LOG_DATA['filename'], - format=LOG_DATA['format'], - level=LOG_DATA['log_level'] -) router = APIRouter( prefix='/api/v2/batstats', diff --git a/app/routers_v2/battingcardratings.py b/app/routers_v2/battingcardratings.py index 971cc43..c0d5364 100644 --- a/app/routers_v2/battingcardratings.py +++ b/app/routers_v2/battingcardratings.py @@ -18,13 +18,8 @@ from ..db_engine import ( CardPosition, ) from ..db_helpers import upsert_batting_card_ratings -from ..dependencies import oauth2_scheme, valid_token, LOG_DATA, PRIVATE_IN_SCHEMA +from ..dependencies import oauth2_scheme, valid_token, PRIVATE_IN_SCHEMA -logging.basicConfig( - filename=LOG_DATA["filename"], - format=LOG_DATA["format"], - level=LOG_DATA["log_level"], -) router = APIRouter(prefix="/api/v2/battingcardratings", tags=["battingcardratings"]) RATINGS_FILE = "storage/batting-ratings.csv" diff --git a/app/routers_v2/battingcards.py b/app/routers_v2/battingcards.py index 439db81..8359daa 100644 --- a/app/routers_v2/battingcards.py +++ b/app/routers_v2/battingcards.py @@ -7,13 +7,8 @@ import pydantic from ..db_engine import db, BattingCard, model_to_dict, fn, Player, MlbPlayer from ..db_helpers import upsert_batting_cards -from ..dependencies import oauth2_scheme, valid_token, LOG_DATA +from ..dependencies import oauth2_scheme, valid_token -logging.basicConfig( - filename=LOG_DATA["filename"], - format=LOG_DATA["format"], - level=LOG_DATA["log_level"], -) router = APIRouter(prefix="/api/v2/battingcards", tags=["battingcards"]) diff --git a/app/routers_v2/cardpositions.py b/app/routers_v2/cardpositions.py index 8e26ed8..1b08926 100644 --- a/app/routers_v2/cardpositions.py +++ b/app/routers_v2/cardpositions.py @@ -6,13 +6,8 @@ from pydantic import root_validator from ..db_engine import db, CardPosition, model_to_dict, Player, fn from ..db_helpers import upsert_card_positions -from ..dependencies import oauth2_scheme, valid_token, LOG_DATA +from ..dependencies import oauth2_scheme, valid_token -logging.basicConfig( - filename=LOG_DATA["filename"], - format=LOG_DATA["format"], - level=LOG_DATA["log_level"], -) router = APIRouter(prefix="/api/v2/cardpositions", tags=["cardpositions"]) diff --git a/app/routers_v2/cards.py b/app/routers_v2/cards.py index ca294ff..5a7a52a 100644 --- a/app/routers_v2/cards.py +++ b/app/routers_v2/cards.py @@ -5,13 +5,8 @@ import pydantic from pandas import DataFrame from ..db_engine import db, Card, model_to_dict, Team, Player, Pack, Paperdex, CARDSETS -from ..dependencies import oauth2_scheme, valid_token, LOG_DATA +from ..dependencies import oauth2_scheme, valid_token -logging.basicConfig( - filename=LOG_DATA['filename'], - format=LOG_DATA['format'], - level=LOG_DATA['log_level'] -) router = APIRouter( prefix='/api/v2/cards', diff --git a/app/routers_v2/cardsets.py b/app/routers_v2/cardsets.py index 8052264..ed1db28 100644 --- a/app/routers_v2/cardsets.py +++ b/app/routers_v2/cardsets.py @@ -5,13 +5,8 @@ import pydantic from pandas import DataFrame from ..db_engine import Cardset, model_to_dict, fn, Event -from ..dependencies import oauth2_scheme, valid_token, LOG_DATA +from ..dependencies import oauth2_scheme, valid_token -logging.basicConfig( - filename=LOG_DATA['filename'], - format=LOG_DATA['format'], - level=LOG_DATA['log_level'] -) router = APIRouter( prefix='/api/v2/cardsets', diff --git a/app/routers_v2/current.py b/app/routers_v2/current.py index 9a68029..186eda5 100644 --- a/app/routers_v2/current.py +++ b/app/routers_v2/current.py @@ -5,13 +5,8 @@ import logging import pydantic from ..db_engine import Current, model_to_dict -from ..dependencies import oauth2_scheme, valid_token, LOG_DATA, PRIVATE_IN_SCHEMA +from ..dependencies import oauth2_scheme, valid_token, PRIVATE_IN_SCHEMA -logging.basicConfig( - filename=LOG_DATA['filename'], - format=LOG_DATA['format'], - level=LOG_DATA['log_level'] -) router = APIRouter( prefix='/api/v2/current', diff --git a/app/routers_v2/decisions.py b/app/routers_v2/decisions.py index dc0d990..f0f1030 100644 --- a/app/routers_v2/decisions.py +++ b/app/routers_v2/decisions.py @@ -16,13 +16,8 @@ from ..db_engine import ( StratPlay, ) from ..db_helpers import upsert_decisions -from ..dependencies import oauth2_scheme, valid_token, LOG_DATA +from ..dependencies import oauth2_scheme, valid_token -logging.basicConfig( - filename=LOG_DATA["filename"], - format=LOG_DATA["format"], - level=LOG_DATA["log_level"], -) router = APIRouter(prefix="/api/v2/decisions", tags=["decisions"]) diff --git a/app/routers_v2/events.py b/app/routers_v2/events.py index 6908170..076c943 100644 --- a/app/routers_v2/events.py +++ b/app/routers_v2/events.py @@ -5,13 +5,8 @@ import pydantic from pandas import DataFrame from ..db_engine import Event, model_to_dict, fn -from ..dependencies import oauth2_scheme, valid_token, LOG_DATA +from ..dependencies import oauth2_scheme, valid_token -logging.basicConfig( - filename=LOG_DATA['filename'], - format=LOG_DATA['format'], - level=LOG_DATA['log_level'] -) router = APIRouter( prefix='/api/v2/events', diff --git a/app/routers_v2/gamerewards.py b/app/routers_v2/gamerewards.py index c99377c..3d17e51 100644 --- a/app/routers_v2/gamerewards.py +++ b/app/routers_v2/gamerewards.py @@ -5,13 +5,8 @@ import pydantic from pandas import DataFrame from ..db_engine import GameRewards, model_to_dict -from ..dependencies import oauth2_scheme, valid_token, LOG_DATA +from ..dependencies import oauth2_scheme, valid_token -logging.basicConfig( - filename=LOG_DATA['filename'], - format=LOG_DATA['format'], - level=LOG_DATA['log_level'] -) router = APIRouter( prefix='/api/v2/gamerewards', diff --git a/app/routers_v2/gauntletrewards.py b/app/routers_v2/gauntletrewards.py index 0540c87..308c52d 100644 --- a/app/routers_v2/gauntletrewards.py +++ b/app/routers_v2/gauntletrewards.py @@ -5,13 +5,8 @@ import pydantic from ..db_engine import db, GauntletReward, model_to_dict, DatabaseError from ..db_helpers import upsert_gauntlet_rewards -from ..dependencies import oauth2_scheme, valid_token, LOG_DATA +from ..dependencies import oauth2_scheme, valid_token -logging.basicConfig( - filename=LOG_DATA["filename"], - format=LOG_DATA["format"], - level=LOG_DATA["log_level"], -) router = APIRouter(prefix="/api/v2/gauntletrewards", tags=["gauntletrewards"]) diff --git a/app/routers_v2/gauntletruns.py b/app/routers_v2/gauntletruns.py index 8ceac15..c8ff43d 100644 --- a/app/routers_v2/gauntletruns.py +++ b/app/routers_v2/gauntletruns.py @@ -5,13 +5,8 @@ import logging import pydantic from ..db_engine import GauntletRun, model_to_dict, DatabaseError -from ..dependencies import oauth2_scheme, valid_token, LOG_DATA +from ..dependencies import oauth2_scheme, valid_token -logging.basicConfig( - filename=LOG_DATA['filename'], - format=LOG_DATA['format'], - level=LOG_DATA['log_level'] -) router = APIRouter( prefix='/api/v2/gauntletruns', diff --git a/app/routers_v2/mlbplayers.py b/app/routers_v2/mlbplayers.py index bbe0c9f..c8499c6 100644 --- a/app/routers_v2/mlbplayers.py +++ b/app/routers_v2/mlbplayers.py @@ -16,13 +16,8 @@ from ..db_engine import ( query_to_csv, ) from ..db_helpers import upsert_mlb_players -from ..dependencies import oauth2_scheme, valid_token, LOG_DATA +from ..dependencies import oauth2_scheme, valid_token -logging.basicConfig( - filename=LOG_DATA["filename"], - format=LOG_DATA["format"], - level=LOG_DATA["log_level"], -) router = APIRouter(prefix="/api/v2/mlbplayers", tags=["mlbplayers"]) diff --git a/app/routers_v2/notifications.py b/app/routers_v2/notifications.py index 7357b99..57d36c8 100644 --- a/app/routers_v2/notifications.py +++ b/app/routers_v2/notifications.py @@ -6,13 +6,8 @@ import pydantic from pandas import DataFrame from ..db_engine import Notification, model_to_dict, fn -from ..dependencies import oauth2_scheme, valid_token, LOG_DATA +from ..dependencies import oauth2_scheme, valid_token -logging.basicConfig( - filename=LOG_DATA['filename'], - format=LOG_DATA['format'], - level=LOG_DATA['log_level'] -) router = APIRouter( prefix='/api/v2/notifs', diff --git a/app/routers_v2/packs.py b/app/routers_v2/packs.py index 19ab178..a347c97 100644 --- a/app/routers_v2/packs.py +++ b/app/routers_v2/packs.py @@ -7,13 +7,8 @@ import pydantic from pandas import DataFrame from ..db_engine import db, Cardset, model_to_dict, Pack, Team, PackType -from ..dependencies import oauth2_scheme, valid_token, LOG_DATA +from ..dependencies import oauth2_scheme, valid_token -logging.basicConfig( - filename=LOG_DATA['filename'], - format=LOG_DATA['format'], - level=LOG_DATA['log_level'] -) router = APIRouter( prefix='/api/v2/packs', diff --git a/app/routers_v2/packtypes.py b/app/routers_v2/packtypes.py index fb08c3a..fedbce7 100644 --- a/app/routers_v2/packtypes.py +++ b/app/routers_v2/packtypes.py @@ -5,13 +5,8 @@ import pydantic from pandas import DataFrame from ..db_engine import PackType, model_to_dict, fn -from ..dependencies import oauth2_scheme, valid_token, LOG_DATA +from ..dependencies import oauth2_scheme, valid_token -logging.basicConfig( - filename=LOG_DATA['filename'], - format=LOG_DATA['format'], - level=LOG_DATA['log_level'] -) router = APIRouter( prefix='/api/v2/packtypes', diff --git a/app/routers_v2/paperdex.py b/app/routers_v2/paperdex.py index 08264e9..d04c084 100644 --- a/app/routers_v2/paperdex.py +++ b/app/routers_v2/paperdex.py @@ -6,13 +6,8 @@ import pydantic from pandas import DataFrame from ..db_engine import Paperdex, model_to_dict, Player, Cardset, Team -from ..dependencies import oauth2_scheme, valid_token, LOG_DATA +from ..dependencies import oauth2_scheme, valid_token -logging.basicConfig( - filename=LOG_DATA['filename'], - format=LOG_DATA['format'], - level=LOG_DATA['log_level'] -) router = APIRouter( prefix='/api/v2/paperdex', diff --git a/app/routers_v2/pitchingcardratings.py b/app/routers_v2/pitchingcardratings.py index e1df819..90a18c6 100644 --- a/app/routers_v2/pitchingcardratings.py +++ b/app/routers_v2/pitchingcardratings.py @@ -19,13 +19,8 @@ from ..db_engine import ( CardPosition, ) from ..db_helpers import upsert_pitching_card_ratings -from ..dependencies import oauth2_scheme, valid_token, LOG_DATA +from ..dependencies import oauth2_scheme, valid_token -logging.basicConfig( - filename=LOG_DATA["filename"], - format=LOG_DATA["format"], - level=LOG_DATA["log_level"], -) router = APIRouter(prefix="/api/v2/pitchingcardratings", tags=["pitchingcardratings"]) RATINGS_FILE = "storage/pitching-ratings.csv" diff --git a/app/routers_v2/pitchingcards.py b/app/routers_v2/pitchingcards.py index ef00340..d40265a 100644 --- a/app/routers_v2/pitchingcards.py +++ b/app/routers_v2/pitchingcards.py @@ -7,13 +7,8 @@ import pydantic from ..db_engine import db, PitchingCard, model_to_dict, Player, fn, MlbPlayer from ..db_helpers import upsert_pitching_cards -from ..dependencies import oauth2_scheme, valid_token, LOG_DATA +from ..dependencies import oauth2_scheme, valid_token -logging.basicConfig( - filename=LOG_DATA["filename"], - format=LOG_DATA["format"], - level=LOG_DATA["log_level"], -) router = APIRouter(prefix="/api/v2/pitchingcards", tags=["pitchingcards"]) diff --git a/app/routers_v2/pitstats.py b/app/routers_v2/pitstats.py index 5219ca0..f30d71a 100644 --- a/app/routers_v2/pitstats.py +++ b/app/routers_v2/pitstats.py @@ -6,13 +6,8 @@ import pydantic from pandas import DataFrame from ..db_engine import db, PitchingStat, model_to_dict, Card, Player, Current -from ..dependencies import oauth2_scheme, valid_token, LOG_DATA +from ..dependencies import oauth2_scheme, valid_token -logging.basicConfig( - filename=LOG_DATA['filename'], - format=LOG_DATA['format'], - level=LOG_DATA['log_level'] -) router = APIRouter( prefix='/api/v2/pitstats', diff --git a/app/routers_v2/players.py b/app/routers_v2/players.py index 343ff58..43ccf9f 100644 --- a/app/routers_v2/players.py +++ b/app/routers_v2/players.py @@ -28,7 +28,7 @@ from ..db_engine import ( MlbPlayer, ) from ..db_helpers import upsert_players -from ..dependencies import oauth2_scheme, valid_token, LOG_DATA +from ..dependencies import oauth2_scheme, valid_token # Franchise normalization: Convert city+team names to city-agnostic team names # This enables cross-era player matching (e.g., 'Oakland Athletics' -> 'Athletics') @@ -73,11 +73,6 @@ def normalize_franchise(franchise: str) -> str: return FRANCHISE_NORMALIZE.get(titled, titled) -logging.basicConfig( - filename=LOG_DATA["filename"], - format=LOG_DATA["format"], - level=LOG_DATA["log_level"], -) router = APIRouter(prefix="/api/v2/players", tags=["players"]) diff --git a/app/routers_v2/rarity.py b/app/routers_v2/rarity.py index e37156e..dd771b9 100644 --- a/app/routers_v2/rarity.py +++ b/app/routers_v2/rarity.py @@ -5,13 +5,8 @@ import pydantic from pandas import DataFrame from ..db_engine import Rarity, model_to_dict, fn -from ..dependencies import oauth2_scheme, valid_token, LOG_DATA +from ..dependencies import oauth2_scheme, valid_token -logging.basicConfig( - filename=LOG_DATA['filename'], - format=LOG_DATA['format'], - level=LOG_DATA['log_level'] -) router = APIRouter( prefix='/api/v2/rarities', diff --git a/app/routers_v2/results.py b/app/routers_v2/results.py index c706a41..295a8ac 100644 --- a/app/routers_v2/results.py +++ b/app/routers_v2/results.py @@ -5,13 +5,8 @@ import pydantic from pandas import DataFrame from ..db_engine import Result, model_to_dict, Team, DataError -from ..dependencies import oauth2_scheme, valid_token, LOG_DATA +from ..dependencies import oauth2_scheme, valid_token -logging.basicConfig( - filename=LOG_DATA['filename'], - format=LOG_DATA['format'], - level=LOG_DATA['log_level'] -) router = APIRouter( prefix='/api/v2/results', diff --git a/app/routers_v2/rewards.py b/app/routers_v2/rewards.py index 86f46ff..54ddc05 100644 --- a/app/routers_v2/rewards.py +++ b/app/routers_v2/rewards.py @@ -6,13 +6,8 @@ import pydantic from pandas import DataFrame from ..db_engine import Reward, model_to_dict, fn -from ..dependencies import oauth2_scheme, valid_token, LOG_DATA +from ..dependencies import oauth2_scheme, valid_token -logging.basicConfig( - filename=LOG_DATA['filename'], - format=LOG_DATA['format'], - level=LOG_DATA['log_level'] -) router = APIRouter( prefix='/api/v2/rewards', diff --git a/app/routers_v2/scouting.py b/app/routers_v2/scouting.py index 818983c..2cd9c49 100644 --- a/app/routers_v2/scouting.py +++ b/app/routers_v2/scouting.py @@ -3,14 +3,9 @@ import logging import pydantic from ..db_engine import Player -from ..dependencies import oauth2_scheme, valid_token, LOG_DATA +from ..dependencies import oauth2_scheme, valid_token from ..player_scouting import get_player_ids -logging.basicConfig( - filename=LOG_DATA['filename'], - format=LOG_DATA['format'], - level=LOG_DATA['log_level'] -) router = APIRouter( prefix='/api/v2/scouting', diff --git a/app/routers_v2/stratgame.py b/app/routers_v2/stratgame.py index eb18b9e..3fb32b8 100644 --- a/app/routers_v2/stratgame.py +++ b/app/routers_v2/stratgame.py @@ -5,13 +5,8 @@ import pandas as pd import pydantic from ..db_engine import StratGame, model_to_dict, fn -from ..dependencies import oauth2_scheme, valid_token, LOG_DATA +from ..dependencies import oauth2_scheme, valid_token -logging.basicConfig( - filename=LOG_DATA['filename'], - format=LOG_DATA['format'], - level=LOG_DATA['log_level'] -) router = APIRouter( prefix='/api/v2/games', diff --git a/app/routers_v2/stratplays.py b/app/routers_v2/stratplays.py index 41b1830..b4bd7cc 100644 --- a/app/routers_v2/stratplays.py +++ b/app/routers_v2/stratplays.py @@ -19,13 +19,8 @@ from ..db_engine import ( Decision, ) from ..db_helpers import upsert_strat_plays -from ..dependencies import oauth2_scheme, valid_token, LOG_DATA +from ..dependencies import oauth2_scheme, valid_token -logging.basicConfig( - filename=LOG_DATA["filename"], - format=LOG_DATA["format"], - level=LOG_DATA["log_level"], -) router = APIRouter(prefix="/api/v2/plays", tags=["plays"]) diff --git a/app/routers_v2/teams.py b/app/routers_v2/teams.py index 5a93553..5320f3a 100644 --- a/app/routers_v2/teams.py +++ b/app/routers_v2/teams.py @@ -35,15 +35,9 @@ from ..db_engine import ( from ..dependencies import ( oauth2_scheme, valid_token, - LOG_DATA, PRIVATE_IN_SCHEMA, ) -logging.basicConfig( - filename=LOG_DATA["filename"], - format=LOG_DATA["format"], - level=LOG_DATA["log_level"], -) router = APIRouter(prefix="/api/v2/teams", tags=["teams"])