aboutsummaryrefslogtreecommitdiff
path: root/mu4web/xapian.py
blob: d23b2d12be5d2844bd71e66e34d4104f8cad806b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import subprocess
from typing import Optional


def metadata_list(db: str, 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: str, key: str) -> str:
    cmd = subprocess.run(['xapian-metadata', 'get', db, key],
                         capture_output=True, text=True)
    return cmd.stdout.strip()