fix: use vault+file URI format for Obsidian, more reliable than path=
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -239,6 +239,11 @@ async def open_file(body: dict, user: dict = Depends(current_user)):
|
|||||||
dest = os.path.join(vault, os.path.basename(p))
|
dest = os.path.join(vault, os.path.basename(p))
|
||||||
shutil.copy2(p, dest)
|
shutil.copy2(p, dest)
|
||||||
open_target = os.path.join(vault, os.path.basename(all_paths[0]))
|
open_target = os.path.join(vault, os.path.basename(all_paths[0]))
|
||||||
|
vault_name = os.path.basename(vault.rstrip("/")) if vault else ""
|
||||||
|
file_name = os.path.basename(open_target)
|
||||||
|
if vault_name:
|
||||||
|
uri = f"obsidian://open?vault={quote(vault_name)}&file={quote(file_name)}"
|
||||||
|
else:
|
||||||
uri = f"obsidian://open?path={quote(open_target, safe='/')}"
|
uri = f"obsidian://open?path={quote(open_target, safe='/')}"
|
||||||
obsidian_bin = shutil.which("obsidian") or "/usr/bin/obsidian"
|
obsidian_bin = shutil.which("obsidian") or "/usr/bin/obsidian"
|
||||||
subprocess.Popen([obsidian_bin, uri])
|
subprocess.Popen([obsidian_bin, uri])
|
||||||
|
|||||||
Reference in New Issue
Block a user