a90b7443e4
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
3.0 KiB
3.0 KiB
name, kind, lang, domain, version, purity, signature, description, tags, uses_functions, uses_types, returns, returns_optional, error_type, imports, params, output, tested, tests, test_file_path, file_path
| name | kind | lang | domain | version | purity | signature | description | tags | uses_functions | uses_types | returns | returns_optional | error_type | imports | params | output | tested | tests | test_file_path | file_path | |||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| unregister_obsidian_vault | function | py | obsidian | 1.0.0 | impure | def unregister_obsidian_vault(vault_ref: str, config_path: str = '') -> dict | Desregistra un vault de la app de escritorio Obsidian quitando su entrada de la clave 'vaults' de ~/.config/obsidian/obsidian.json. Opera sobre la config de la app: NO borra la carpeta del vault en disco, solo hace que Obsidian deje de conocerlo. Acepta vault_ref como id exacto (hex 16) o como ruta (se normaliza a absoluta y se compara con path). Hace backup .bak antes de escribir y preserva el resto del JSON. |
|
false | error_go_core |
|
|
dict con removed (bool), id (de la entrada quitada o ''), path (de la entrada quitada o ''), config_path y backup_path (ruta del .bak o '') | true |
|
python/functions/obsidian/unregister_obsidian_vault_test.py | python/functions/obsidian/unregister_obsidian_vault.py |
Ejemplo
import sys, os
sys.path.insert(0, os.path.join("python", "functions"))
from obsidian import unregister_obsidian_vault
# Por ruta (se normaliza a absoluta)
res = unregister_obsidian_vault("/home/enmanuel/vaults/viejo", config_path="")
print(res["removed"], res["id"]) # True 3f9a1c0b7e2d4a86
# O por id exacto
unregister_obsidian_vault("a1b2c3d4e5f60718", config_path="")
Cuando usarla
Cuando quieras que la app de escritorio Obsidian deje de mostrar un vault en su selector sin tocar los archivos del vault en disco: limpiar entradas obsoletas, quitar un vault movido a otra ruta, o sanear obsidian.json. Para listar las entradas y obtener sus ids usa list_registered_obsidian_vaults.
Gotchas
- NO borra la carpeta del vault: solo elimina la entrada de la config de la app. Los archivos
.mdy el.obsidian/del vault siguen en disco. - Escribe la config de la app (I/O impuro) y crea backup
.bakantes de sobreescribir, pero solo si encontro la entrada (removed=True). Si no la encuentra, no escribe ni hace backup. - Resolucion de
vault_ref: primero intenta match exacto por id; si no, normaliza el ref a ruta absoluta y compara conpath. Un id que coincide por azar con un path nunca pasara: el match por id va primero. - Single-instance: si Obsidian esta corriendo, sigue teniendo el vault en memoria hasta reiniciar; el desregistro solo afecta al archivo de config.
- Preserva las demas claves de nivel superior del JSON y los demas vaults.