from datetime import datetime from fastapi import APIRouter, Depends, HTTPException, Response, Query from typing import Optional import logging import pydantic from pandas import DataFrame from ..db_engine import db, model_to_dict, fn, query_to_csv, complex_data_to_csv, Player from ..dependencies import oauth2_scheme, valid_token, LOG_DATA, int_timestamp 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', tags=['scouting'] ) @router.get('/playerkeys') async def get_player_keys(player_id: list = Query(default=None)): all_keys = [] for x in player_id: this_player = Player.get_or_none(Player.player_id == x) if this_player is not None: this_keys = get_player_ids(this_player.bbref_id, id_type='bbref') if this_keys is not None: all_keys.append(this_keys) return_val = {'count': len(all_keys), 'keys': [ dict(x) for x in all_keys ]} db.close() return return_val