trove/trovedb/trove_factory.py

15 lines
434 B
Python
Raw Permalink Normal View History

2026-03-21 22:25:32 -05:00
from pathlib import Path
from . import trove as tr
from .fs import FSTrove
from .trovedb import open_db_trove
def get_trove(trove_base: str | Path, **kwargs: tr.OpenArguments) -> tr.Trove:
path = Path(trove_base)
if path.exists():
if path.is_dir():
return FSTrove(path)
elif path.is_file():
return open_db_trove(path, **kwargs)
raise tr.TroveError(f"Unable to find trove {path}")