import pandas as pd
from nba_api.stats.endpoints import commonplayerinfo
from nba_api.stats.static import players


def get_player_info(player_name: str):
    # 1. Recherche de l'ID du joueur par son nom
    nba_players = players.get_players()
    matching_players = [
        p
        for p in nba_players
        if p["full_name"].lower() == player_name.strip().lower()
    ]

    if not matching_players:
        raise ValueError(f"Joueur '{player_name}' introuvable.")

    player_id = matching_players[0]["id"]

    # 2. Requête vers l'endpoint CommonPlayerInfo
    info = commonplayerinfo.CommonPlayerInfo(player_id=player_id)

    # 3. Récupération du DataFrame principal
    df = info.get_data_frames()[0]
    return df


if __name__ == "__main__":
    player = "Victor Wembanyama"
    df_info = get_player_info(player)

    # Colonnes principales d'informations sur le joueur
    cols = [
        "DISPLAY_FIRST_LAST",
        "TEAM_NAME",
        "POSITION",
        "JERSEY",
        "HEIGHT",
        "WEIGHT",
        "BIRTHDATE",
        "COUNTRY",
        "SCHOOL",
        "SEASON_EXP",
        "DRAFT_YEAR",
    ]

    print(df_info[cols].T)