46 lines
1.2 KiB
Python
46 lines
1.2 KiB
Python
import logging
|
|
import pydantic
|
|
|
|
from typing import Optional
|
|
from api_calls.team import Team
|
|
from db_calls import db_get
|
|
from exceptions import log_exception, ApiException
|
|
|
|
logger = logging.getLogger('discord_app')
|
|
|
|
class Player(pydantic.BaseModel):
|
|
id: Optional[int] = None
|
|
name: str
|
|
wara: float
|
|
team: Team
|
|
image: str
|
|
image2: Optional[str] = None
|
|
season: int
|
|
pitcher_injury: Optional[int] = None
|
|
pos_1: str
|
|
pos_2: Optional[str] = None
|
|
pos_3: Optional[str] = None
|
|
pos_4: Optional[str] = None
|
|
pos_5: Optional[str] = None
|
|
pos_6: Optional[str] = None
|
|
pos_7: Optional[str] = None
|
|
pos_8: Optional[str] = None
|
|
vanity_card: Optional[str] = None
|
|
headshot: Optional[str] = None
|
|
last_game: Optional[str] = None
|
|
last_game2: Optional[str] = None
|
|
il_return: Optional[str] = None
|
|
demotion_week: Optional[int] = None
|
|
strat_code: Optional[str] = None
|
|
bbref_id: Optional[str] = None
|
|
injury_rating: Optional[str] = None
|
|
sbaplayer_id: Optional[int] = None
|
|
|
|
|
|
async def get_one_player(player_id: int) -> Player:
|
|
data = await db_get('players', object_id=player_id)
|
|
if not data:
|
|
log_exception(ApiException(f'No player found with ID {player_id}'))
|
|
|
|
return Player(**data)
|