chore: initial import
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
# -*- 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
|
||||
Reference in New Issue
Block a user