import os
import json
import shutil

# 加载标准球队名称
with open('team_name_standardization.json', 'r', encoding='utf-8') as f:
    data = json.load(f)
    
teams = data['teams']
base_dir = r'C:\Users\jerry\PyCharmProjects\footviz\footviz-vue'

# 定义需要处理的路径
directories_to_process = [
    os.path.join(base_dir, 'public', 'team-visuals')
]

# 创建一个从别名到标准名称的映射
alias_to_standard = {}
for team in teams:
    standard_name = team['standard_name']
    alias_to_standard[standard_name] = standard_name  # 标准名称映射到自身
    for alias in team['aliases']:
        alias_to_standard[alias] = standard_name

print("标准名称映射:")
for alias, standard in alias_to_standard.items():
    print(f"  '{alias}' -> '{standard}'")

# 特殊处理 team-visuals 目录
# 先删除重复项再进行重命名
directory = os.path.join(base_dir, 'public', 'team-visuals')
if os.path.exists(directory):
    print(f"\n处理目录: {directory}")
    
    # 删除重复项
    duplicates_to_remove = ['Mancity Vis', 'Manunited Vis']
    for dup in duplicates_to_remove:
        dup_path = os.path.join(directory, dup)
        if os.path.exists(dup_path):
            shutil.rmtree(dup_path)
            print(f"  删除重复目录: {dup}")

    # 获取目录中的所有项目
    items = os.listdir(directory)
    
    # 处理重命名
    for item in items:
        item_path = os.path.join(directory, item)
        
        # 处理目录
        if os.path.isdir(item_path):
            # 移除可能的后缀（如 "Vis"）
            base_name = item
            if base_name.endswith(' Vis'):
                base_name = base_name[:-4]
            elif base_name.endswith(' Vis/'):
                base_name = base_name[:-5]
                
            # 检查是否需要重命名
            if base_name in alias_to_standard:
                standard_name = alias_to_standard[base_name]
                if base_name != standard_name:
                    new_path = os.path.join(directory, standard_name)
                    if os.path.exists(new_path):
                        print(f"  警告: 目标路径已存在 {new_path}，跳过 {item_path}")
                    else:
                        os.rename(item_path, new_path)
                        print(f"  重命名目录: '{item}' -> '{standard_name}'")
                else:
                    # 即使名称正确，如果还有"Vis"后缀也需要移除
                    if item != standard_name:
                        new_path = os.path.join(directory, standard_name)
                        os.rename(item_path, new_path)
                        print(f"  重命名目录: '{item}' -> '{standard_name}'")
                    else:
                        print(f"  目录名称正确: '{item}'")
            else:
                print(f"  未找到映射关系: '{base_name}'")

print("\n处理完成!")