62 lines
1.7 KiB
Python
62 lines
1.7 KiB
Python
#!/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()
|
|
|