import os
import sys
import shutil

def print_usage():
    print("❌ Bitte gib eine Kategorie an, z. B.:")
    print("   python restore_imported_files.py karatetrainer")
    sys.exit(1)

# --- Eingabe prüfen ---
if len(sys.argv) < 2:
    print_usage()

CATEGORY = sys.argv[1]
FORCE = "--force" in sys.argv

SOURCE_DIR = os.path.expanduser(f"~/knowledge/{CATEGORY}/_imported")
TARGET_DIR = os.path.expanduser(f"~/knowledge/{CATEGORY}")

if not os.path.isdir(SOURCE_DIR):
    print(f"❌ Quellordner '{SOURCE_DIR}' existiert nicht.")
    sys.exit(1)

files = [f for f in os.listdir(SOURCE_DIR) if os.path.isfile(os.path.join(SOURCE_DIR, f))]
if not files:
    print("⚠️ Keine Dateien zum Wiederherstellen gefunden.")
    sys.exit(0)

print(f"♻️ Wiederherstellung von {len(files)} Dateien nach '{TARGET_DIR}'")

restored = 0
for file in files:
    source_path = os.path.join(SOURCE_DIR, file)
    target_path = os.path.join(TARGET_DIR, file)

    if not FORCE:
        confirm = input(f"🔁 Datei '{file}' zurückkopieren? [j/N] ").strip().lower()
        if confirm != "j":
            continue

    shutil.move(source_path, target_path)
    print(f"✅ '{file}' wurde zurückkopiert.")
    restored += 1

print(f"\n🎉 {restored} Datei(en) wurden erfolgreich wiederhergestellt.")
