import os
import django

# 设置Django环境
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'footviz.settings')
django.setup()

from api.models import Team, TeamVisual, TeamPlayerImage, TeamDataHtml

# 定义静态资源路径
MEDIA_ROOT = 'footviz/media/static'

def populate_teams():
    """填充球队数据"""
    premier_league_teams = [
        "Arsenal", "Aston Villa", "Bournemouth", "Brentford", "Brighton",
        "Chelsea", "Crystal Palace", "Everton", "Fulham", "Ipswich",
        "Leicester", "Liverpool", "Manchester City", "Manchester United",
        "Newcastle", "Nottingham Forest", "Southampton", "Tottenham",
        "West Ham", "Wolves"
    ]
    
    teams = []
    for team_name in premier_league_teams:
        team, created = Team.objects.get_or_create(name=team_name)
        teams.append(team)
        if created:
            print(f"Created team: {team_name}")
    
    return teams

def populate_team_visuals(teams):
    """为每个球队创建一个可视化资源记录"""
    for team in teams:
        visual, created = TeamVisual.objects.get_or_create(team=team)
        if created:
            print(f"Created visual entry for {team.name}")

def populate_team_player_images(teams):
    """填充球队球员图片数据"""
    for team in teams:
        team_image_dir = os.path.join(MEDIA_ROOT, 'team_player_images', team.name)
        if os.path.exists(team_image_dir):
            for filename in os.listdir(team_image_dir):
                if filename.endswith('.jpg'):
                    player_name = filename.replace('.jpg', '').replace('_', ' ')
                    image, created = TeamPlayerImage.objects.get_or_create(
                        team=team,
                        player_name=player_name
                    )
                    if created:
                        print(f"Created player image entry for {team.name}: {player_name}")

def populate_team_data_html(teams):
    """为每个球队创建HTML数据文件记录"""
    for team in teams:
        html_file, created = TeamDataHtml.objects.get_or_create(team=team)
        if created:
            print(f"Created HTML data file entry for {team.name}")

def main():
    print("Populating database with static resource information...")
    
    # 填充数据
    teams = populate_teams()
    populate_team_visuals(teams)
    populate_team_player_images(teams)
    populate_team_data_html(teams)
    
    print("Database population completed!")

if __name__ == "__main__":
    main()