diff --git a/api.py b/api.py index 35759bf..ca78367 100644 --- a/api.py +++ b/api.py @@ -36,17 +36,31 @@ 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, params=params) + if response.ok: + return response.json() + else: + raise APIError(response.json()['errors']) + #done 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) + #done + 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?") - + route = "/new" + 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']) + #done