# -*- coding: utf-8 -*- """ Plugin-Adapter für den Tandoor-AI-Webimport. Das Original ist bereits eine FastAPI-Anwendung (app/main.py) und wird unverändert übernommen. Hier passiert nur zweierlei: * DATA_DIR zeigt auf data/tandoor-ai-import/ (dort landen die runs/), * das Paket wird unter eindeutigem Namen geladen, damit sich sein Modul "app" nicht mit gleichnamigen Modulen anderer Plugins beißt. Das Tool läuft dadurch weiterhin auch allein: cd plugins/tandoor-ai-import && uvicorn app.main:app --port 8091 """ from __future__ import annotations import os from core.loader import load_submodule def create_app(ctx): runs = ctx.data_dir / "runs" runs.mkdir(parents=True, exist_ok=True) # storage.py liest DATA_DIR beim Import. previous = os.environ.get("DATA_DIR") os.environ["DATA_DIR"] = str(ctx.data_dir) try: main = load_submodule(ctx.path("app"), f"btp_{ctx.id.replace('-', '_')}", "main") finally: if previous is None: os.environ.pop("DATA_DIR", None) else: os.environ["DATA_DIR"] = previous return main.app