14 lines
434 B
Python
14 lines
434 B
Python
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}")
|