22 lines
704 B
Python
22 lines
704 B
Python
from clan_lib.api import API
|
|
from clan_lib.errors import ClanError
|
|
from clan_lib.flake import Flake
|
|
from clan_lib.nix_models.clan import InventoryMeta as Meta
|
|
from clan_lib.persist.inventory_store import InventoryStore
|
|
|
|
|
|
@API.register
|
|
def show_clan_meta(flake: Flake) -> Meta:
|
|
if flake.is_local and not flake.path.exists():
|
|
msg = f"Path {flake} does not exist"
|
|
raise ClanError(msg, description="clan directory does not exist")
|
|
inventory_store = InventoryStore(flake)
|
|
inventory = inventory_store.read()
|
|
|
|
meta = inventory.get("meta")
|
|
if not meta:
|
|
msg = f"Inventory of flake '{flake}' does not have a meta attribute"
|
|
raise ClanError(msg)
|
|
|
|
return meta
|