aboutsummaryrefslogtreecommitdiffstats
path: root/firefly_cli/resolver.py
diff options
context:
space:
mode:
Diffstat (limited to 'firefly_cli/resolver.py')
-rw-r--r--firefly_cli/resolver.py8
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)