aboutsummaryrefslogtreecommitdiff
path: root/kennel/kennelcats.py
diff options
context:
space:
mode:
authorElizabeth Hunt <elizabeth@simponic.xyz>2024-08-20 17:34:18 -0700
committerElizabeth Hunt <elizabeth@simponic.xyz>2024-08-20 17:34:18 -0700
commitb4140460014d1fc134df9127600f6da2346376e3 (patch)
tree5bee11079f3ab9e3fd5d2a68cee483c2c33557f4 /kennel/kennelcats.py
parent6f223d2462df5e08856fb83fd76773a8af33acf9 (diff)
downloadkennel.hatecomputers.club-b4140460014d1fc134df9127600f6da2346376e3.tar.gz
kennel.hatecomputers.club-b4140460014d1fc134df9127600f6da2346376e3.zip
init commit with base ECS and Network System
Diffstat (limited to 'kennel/kennelcats.py')
-rw-r--r--kennel/kennelcats.py45
1 files changed, 45 insertions, 0 deletions
diff --git a/kennel/kennelcats.py b/kennel/kennelcats.py
new file mode 100644
index 0000000..340b07e
--- /dev/null
+++ b/kennel/kennelcats.py
@@ -0,0 +1,45 @@
+from datetime import datetime
+from typing import List
+import requests
+
+
+class KennelCat:
+ def __init__(
+ self,
+ id: str,
+ user_id: str,
+ name: str,
+ link: str,
+ description: str,
+ spritesheet: str,
+ created_at: datetime,
+ ):
+ self.id = id
+ self.user_id = user_id
+ self.name = name
+ self.link = link
+ self.description = description
+ self.spritesheet = spritesheet
+ self.created_at = created_at
+
+ @staticmethod
+ def from_dict(dict: dict) -> "KennelCat":
+ return KennelCat(
+ id=dict["id"],
+ user_id=dict["user_id"],
+ name=dict["name"],
+ link=dict["link"],
+ description=dict["description"],
+ spritesheet=dict["spritesheet"],
+ created_at=datetime.fromisoformat(dict["created_at"]),
+ )
+
+
+class KennelCatService:
+ def __init__(self, endpoint: str):
+ self.endpoint = endpoint
+
+ def get_kennel(self) -> List[KennelCat]:
+ response = requests.get(f"{self.endpoint}/kennel")
+ response.raise_for_status()
+ return [KennelCat.from_dict(cat) for cat in response.json()]