diff --git a/api/router.py b/api/router.py index c5c6adb..5431202 100644 --- a/api/router.py +++ b/api/router.py @@ -223,12 +223,22 @@ async def open_file(body: dict, user: dict = Depends(current_user)): from urllib.parse import quote cfg = load_config() vault = cfg.get("obsidian", {}).get("vault", "").strip() - open_target = paths[0] + # If only the index was passed, also include sibling transkript/zusammenfassung + all_paths = list(paths) + for p in paths: + if p.endswith("-index.md"): + base = p[: -len("-index.md")] + for suffix in ("-transkript.md", "-zusammenfassung.md"): + sibling = base + suffix + if os.path.exists(sibling) and sibling not in all_paths: + all_paths.append(sibling) + + open_target = all_paths[0] if vault and os.path.isdir(vault): - for p in paths: + for p in all_paths: dest = os.path.join(vault, os.path.basename(p)) shutil.copy2(p, dest) - open_target = os.path.join(vault, os.path.basename(paths[0])) + open_target = os.path.join(vault, os.path.basename(all_paths[0])) uri = f"obsidian://open?path={quote(open_target, safe='/')}" obsidian_bin = shutil.which("obsidian") or "/usr/bin/obsidian" subprocess.Popen([obsidian_bin, uri])