diff --git a/__pycache__/api.cpython-310.pyc b/__pycache__/api.cpython-310.pyc new file mode 100644 index 0000000..d13d261 Binary files /dev/null and b/__pycache__/api.cpython-310.pyc differ diff --git a/api.py b/api.py index 35759bf..2ea3d1e 100644 --- a/api.py +++ b/api.py @@ -36,16 +36,30 @@ class RiddleAPI: def get_riddle(self, riddle_id): "Fetches a single riddle from the server" route = "/show" - raise NotImplementedError("The API doesn't support `get_riddle` yet. Can you add it?") + params = {'id': riddle_id} + response = requests.get(self.server_url + route, json=params) + if response.ok: + return response.json() + else: + raise APIError(response.json()['errors']) + #raise NotImplementedError("The API doesn't support `get_riddle` yet. Can you add it?") def get_random_riddle(self): "Fetches all riddles from the server and then randomly returns one" - raise NotImplementedError("The API doesn't support `get_random_riddle` yet. Can you add it?") + riddles = self.get_all_riddles() + return choice(riddles) + #raise NotImplementedError("The API doesn't support `get_random_riddle` yet. Can you add it?") def add_riddle(self, question, answer): "Adds a new riddle to the server" route = "/new" - raise NotImplementedError("The API doesn't support `add_riddle` yet. Can you add it?") + params = {'question': question, 'answer': answer} + response = requests.post(self.server_url + route, json=params) + if response.ok: + return response.json() + else: + raise APIError(response.json()['errors']) + #raise NotImplementedError("The API doesn't support `add_riddle` yet. Can you add it?")