fix: auto-include transkript/zusammenfassung siblings when copying index to Obsidian vault

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-02 11:47:29 +02:00
parent ca10cbb20b
commit fe8b8bb125
+13 -3
View File
@@ -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 vault and os.path.isdir(vault):
# 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 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])