import os
import re
import shutil

# パスの定義
inbox_dir = "docs/aiagent/raw_inbox"
sources_dir = "docs/aiagent/raw_sources"

# ディレクトリ作成
os.makedirs(sources_dir, exist_ok=True)

# raw_inbox 内のファイルリスト取得
files = os.listdir(inbox_dir)
print(f"Found {len(files)} files in raw_inbox.")

# 翻訳版とオリジナルをマッピングするための辞書
# key: 翻訳版ファイル名, value: オリジナルファイル名
translation_map = {}

# オリジナルファイルのリスト
original_files = []

# パターン定義
locale_pattern = re.compile(r"[-.]ja(-SUMMARY)?\.md$")

# 1周目: オリジナルファイルと翻訳ファイルの特定
for f in files:
    if not f.endswith(".md"):
        continue
    
    match = locale_pattern.search(f)
    if match:
        # 翻訳版ファイル
        suffix = match.group(0)
        orig_name = f[:-len(suffix)] + ".md"
        translation_map[f] = orig_name
    else:
        # オリジナルファイル
        original_files.append(f)

# 2周目: 移動先の決定と移動
for f in files:
    src_path = os.path.join(inbox_dir, f)
    
    # 適切なサブディレクトリの判定
    if f.startswith("GUIDE_"):
        sub_dir = "guides"
    elif f == "grill-me.md" or f == "grill-me-ja.md":
        sub_dir = "commands"
    elif f == "suzanne.md":
        sub_dir = "misc"
    else:
        sub_dir = "articles"
        
    dest_dir = os.path.join(sources_dir, sub_dir)
    os.makedirs(dest_dir, exist_ok=True)
    
    dest_path = os.path.join(dest_dir, f)
    
    # 移動
    shutil.move(src_path, dest_path)
    print(f"Moved: {f} -> raw_sources/{sub_dir}/{f}")

print("File migration completed.")
