From 9dce0f1ec4cfc30188df0fea7a2ab28d78ef43d2 Mon Sep 17 00:00:00 2001 From: "Edward Tirado Jr." Date: Mon, 30 Jun 2025 15:35:39 -0500 Subject: [PATCH] added better error handling to movie search --- movie_db/views.py | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/movie_db/views.py b/movie_db/views.py index 602e418..d46540f 100644 --- a/movie_db/views.py +++ b/movie_db/views.py @@ -3,10 +3,24 @@ from movie_db.db_providers.omdb import OMDb def omdb_search(request): + print("ENTERING MOVIE SEARCH") query = request.GET.get("q") if not query: return JsonResponse({"Error": "Missing query"}, status=400) search_type = request.GET.get("type") omdb = OMDb() - return JsonResponse(omdb.search(query, {"type": search_type}), safe=False) + + results = omdb.search(query, {"type": search_type}) + if "error" in results: + return parse_error(results) + + return JsonResponse(results, safe=False) + + +def parse_error(results): + error_json = results["error"] + if "Error" in error_json and error_json["Error"] == "Movie not found!": + return JsonResponse({}, status=404) + else: + return JsonResponse("Error while searching for movie.", status=500) \ No newline at end of file