update
This commit is contained in:
@@ -251,7 +251,9 @@ def _bausteine_files(topic: str) -> dict:
|
||||
def _alle_slot_dateien(files: dict) -> list[Path]:
|
||||
arbeit = files["arbeit"]
|
||||
# Subbaustein-/Stufen-Slots sind pro Chunk dynamisch — per Glob einsammeln.
|
||||
dyn = (list(arbeit.glob("subbaustein-*")) + list(arbeit.glob("stufe-*")) + list(arbeit.glob("relevanz-*")) + list(arbeit.glob("frage-muster-*"))) if arbeit.is_dir() else []
|
||||
dyn = (list(arbeit.glob("subbaustein-*")) + list(arbeit.glob("stufe-*")) + list(arbeit.glob("relevanz-*"))
|
||||
+ list(arbeit.glob("frage-muster-*")) + list(arbeit.glob("recherche-*")) + list(arbeit.glob("konsolidierung-*"))
|
||||
+ list(arbeit.glob("klaerung*"))) if arbeit.is_dir() else []
|
||||
return [
|
||||
*files["recherche"], files["recherche_mapping"],
|
||||
*(p for slots in files["auswahl"].values() for p in slots),
|
||||
@@ -322,16 +324,18 @@ def active_bausteine() -> list[dict]:
|
||||
|
||||
|
||||
def reset_bausteine(topic: str) -> None:
|
||||
files = _bausteine_files(topic)
|
||||
files["final"].unlink(missing_ok=True)
|
||||
files["sidecar"].unlink(missing_ok=True) # liegt im Themen-Root, nicht in arbeit/
|
||||
files["frage_muster"].unlink(missing_ok=True) # ebenfalls im Themen-Root
|
||||
quelle_path(topic).unlink(missing_ok=True)
|
||||
shutil.rmtree(quelle_crawl_dir(topic), ignore_errors=True) # gecrawlte Link-Quelle
|
||||
shutil.rmtree(files["arbeit"], ignore_errors=True)
|
||||
"""„Löschen": räumt nur die generierten Bausteine weg (Dateien ab Inventar). BEHÄLT
|
||||
Quelle (quelle.json), Crawl-Ordner und Sichtung. Voller Wipe inkl. Quelle/Crawl nur
|
||||
über „Thema löschen" (DELETE /topics → rmtree(topic_dir))."""
|
||||
_reset_ab_phase(topic, "Inventar")
|
||||
_bausteine_errors.pop(topic, None)
|
||||
|
||||
|
||||
async def reset_bausteine_db(topic: str) -> None:
|
||||
"""DB-Pendant zu reset_bausteine: Inventar…Fragen aus der DB; Coverage/Sichtung + Quelle bleiben."""
|
||||
await _reset_db_ab_phase(topic, "Inventar")
|
||||
|
||||
|
||||
def _phase_idx(label: str) -> int:
|
||||
"""Index der groben Phase in der kanonischen Reihenfolge (Quelle=0 … Fragen=5)."""
|
||||
order = [l for l, _ in PHASEN]
|
||||
|
||||
Reference in New Issue
Block a user