import subprocess from typing import Optional def metadata_list(db, prefix: Optional[str] = None) -> list[str]: cmdline = ['xapian-metadata', 'list', db] if prefix: cmdline.append(prefix) cmd = subprocess.run(cmdline, capture_output=True, text=True) return cmd.stdout.split('\n') def metadata_get(db, key: str) -> str: cmd = subprocess.run(['xapian-metadata', 'get', db, key], capture_output=True, text=True) return cmd.stdout.strip()