diff options
| author | Elizabeth Hunt <elizabeth@simponic.xyz> | 2024-08-20 17:34:18 -0700 |
|---|---|---|
| committer | Elizabeth Hunt <elizabeth@simponic.xyz> | 2024-08-20 17:34:18 -0700 |
| commit | b4140460014d1fc134df9127600f6da2346376e3 (patch) | |
| tree | 5bee11079f3ab9e3fd5d2a68cee483c2c33557f4 /kennel/kennelcats.py | |
| parent | 6f223d2462df5e08856fb83fd76773a8af33acf9 (diff) | |
| download | kennel.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.py | 45 |
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()] |
