diff options
Diffstat (limited to 'firefly_cli/resolver.py')
| -rw-r--r-- | firefly_cli/resolver.py | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/firefly_cli/resolver.py b/firefly_cli/resolver.py index cb7e9a8..1a5de11 100644 --- a/firefly_cli/resolver.py +++ b/firefly_cli/resolver.py @@ -59,3 +59,11 @@ class Resolver: def budget_by_id(self, budget_id): item = self.client.request("GET", f"/api/v1/budgets/{budget_id}")["data"] return {"id": item["id"], **item.get("attributes", {})} + + def piggy(self, name_or_id): + # Same name-or-id sniff as budget(), same ponytail caveat (a piggy bank + # literally named "7" is unreachable by name). + if str(name_or_id).isdigit(): + item = self.client.request("GET", f"/api/v1/piggy-banks/{name_or_id}")["data"] + return {"id": item["id"], **item.get("attributes", {})} + return self._match("piggy bank", self._list("/api/v1/piggy-banks"), name_or_id) |
