From 6eac2264aacfc96e8da0f3173c35cb524d2004a1 Mon Sep 17 00:00:00 2001 From: neingeist Date: Wed, 8 Apr 2026 23:13:31 +0200 Subject: [PATCH] =?UTF-8?q?=E2=AC=86=EF=B8=8F=20update=20to=20current=20ta?= =?UTF-8?q?ndoor=20api=20(+=20some=20error=20handling)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 0_get_recipes.py | 30 +++++++++++++++++++++++------- 1 file changed, 23 insertions(+), 7 deletions(-) diff --git a/0_get_recipes.py b/0_get_recipes.py index ca1f913..72f2346 100644 --- a/0_get_recipes.py +++ b/0_get_recipes.py @@ -11,7 +11,7 @@ if TANDOOR_API_TOKEN: def fetch_keyword_id(keyword): - endpoint = "/api/keyword" + endpoint = "/api/keyword/" page = 1 while True: @@ -23,7 +23,11 @@ def fetch_keyword_id(keyword): print(f"Error: Received status code {response.status_code}") return None - data = response.json() + try: + data = response.json() + except requests.exceptions.JSONDecodeError: + print(f"Error: No JSON returned") + return None results = data.get("results", []) for item in results: @@ -40,7 +44,7 @@ def fetch_keyword_id(keyword): def fetch_recipes(keyword_id): recipes = [] - endpoint = "/api/recipe" + endpoint = "/api/recipe/" page = 1 while True: @@ -53,7 +57,11 @@ def fetch_recipes(keyword_id): print(f"Error: Received status code {response.status_code}") return None - data = response.json() + try: + data = response.json() + except requests.exceptions.JSONDecodeError: + print(f"Error: No JSON returned") + return None results = data.get("results", []) for item in results: @@ -69,15 +77,23 @@ def fetch_recipes(keyword_id): def fetch_recipe(recipe_id): - endpoint = "/api/recipe" + endpoint = "/api/recipe/" - response = requests.get(f"{TANDOOR_URL}/api/recipe/{recipe_id}", headers=headers) + params = {} + response = requests.get( + f"{TANDOOR_URL}{endpoint}{recipe_id}/", params=params, headers=headers + ) if response.status_code != 200: print(f"Error: Received status code {response.status_code}") return None - recipe = response.json() + try: + data = response.json() + except requests.exceptions.JSONDecodeError: + print(f"Error: No JSON returned") + return None + recipe = data return recipe