paper-dynasty-database/app/player_scouting.py
2023-09-24 19:00:21 -05:00

28 lines
648 B
Python

from typing import Literal, Optional
from pybaseball import playerid_reverse_lookup
import pydantic
class PlayerIds(pydantic.BaseModel):
bbref: str = None
fangraphs: int = None
retro: str = None
mlbam: int = None
def get_player_ids(player_id: str, id_type: Literal['bbref', 'fangraphs']) -> PlayerIds | None:
q = playerid_reverse_lookup([player_id], key_type=id_type)
if len(q.values) == 0:
return None
else:
return PlayerIds(
bbref=q.loc[0].key_bbref,
fangraphs=q.loc[0].key_fangraphs,
retro=q.loc[0].key_retro,
mlbam=q.loc[0].key_mlbam
)