import sys
import json
from nba_api.stats.static import teams
from nba_api.stats.endpoints import commonteamroster

def get_players_and_photos(team_name, season="2024-25"):
    nba_teams = teams.get_teams()
    matched_teams = [
        t for t in nba_teams 
        if team_name.lower() in t['full_name'].lower() or team_name.lower() in t['nickname'].lower()
    ]
    
    if not matched_teams:
        return []
    
    team_id = matched_teams[0]['id']
    
    roster = commonteamroster.CommonTeamRoster(team_id=team_id, season=season)
    df_roster = roster.get_data_frames()[0]
    
    df_roster['HEADSHOT_URL'] = df_roster['PLAYER_ID'].apply(
        lambda pid: f"https://cdn.nba.com/headshots/nba/latest/1040x760/{pid}.png"
    )
    
    cols = ['PLAYER', 'NUM', 'POSITION', 'HEIGHT', 'WEIGHT', 'AGE', 'HEADSHOT_URL']
    
    # Conversion du DataFrame en dictionnaire Python
    return df_roster[cols].to_dict(orient='records')

if __name__ == "__main__":
    # Récupération de l'argument passé par PHP
    team = sys.argv[1] if len(sys.argv) > 1 else "Los Angeles Lakers"
    season = sys.argv[2] if len(sys.argv) > 2 else "2024-25"
    
    data = get_players_and_photos(team, season)
    
    # Impression exclusive du JSON sur stdout pour PHP
    print(json.dumps(data))
