#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import os
import sys
import subprocess
from tqdm import tqdm

def main():
    import argparse
    parser = argparse.ArgumentParser(
        description="Importiert alle .txt-Dateien in einer Kategorie mittels import_single_file.py"
    )
    parser.add_argument(
        "category",
        help="Name der Kategorie (Ordner unter ~/knowledge/)"
    )
    parser.add_argument(
        "--topic", "-t",
        help="Optionaler Kontext/Topic für alle Importe",
        default="default"
    )
    parser.add_argument(
        "--script-path", "-s",
        help="Pfad zum import_single_file.py",
        default="import_single_file.py"
    )
    args = parser.parse_args()

    category    = args.category
    topic       = args.topic
    script_path = args.script_path

    base_dir = os.path.expanduser(f"~/knowledge/{category}")
    if not os.path.isdir(base_dir):
        print(f"❌ Kategorie-Ordner nicht gefunden: {base_dir}")
        sys.exit(1)

    files = [f for f in os.listdir(base_dir) if f.endswith(".txt")]
    if not files:
        print(f"⚠️ Keine .txt-Dateien in {base_dir} gefunden.")
        sys.exit(0)

    print(f"📁 Starte Ordner-Import: {len(files)} Dateien in Kategorie '{category}' (Topic: '{topic}')")
    for filename in tqdm(files, desc="Importiere Dateien"):
        cmd = [
            sys.executable,
            script_path,
            category,
            filename,
            topic
        ]
        try:
            subprocess.run(cmd, check=True)
        except subprocess.CalledProcessError as e:
            print(f"❌ Fehler beim Import von {filename}: {e}")

    print("✅ Ordner-Import abgeschlossen.")

if __name__ == "__main__":
    main()

