From 0a5db5d14c19d7af7acdad5918c39c39eaff0858 Mon Sep 17 00:00:00 2001 From: Daniel Nemergut <dnemergu@nrao.edu> Date: Fri, 31 May 2024 10:32:08 -0400 Subject: [PATCH] Fixed optional param values coming in from the routes --- .../capability/capability/views/capability.py | 38 ++++++++++++------- 1 file changed, 24 insertions(+), 14 deletions(-) diff --git a/services/capability/capability/views/capability.py b/services/capability/capability/views/capability.py index a38f0e9b4..866747c39 100644 --- a/services/capability/capability/views/capability.py +++ b/services/capability/capability/views/capability.py @@ -295,11 +295,14 @@ def get_casa_version(request: Request) -> Response: :return: Response containing the CASA version and path or a 404 response (HTTPNotFound) if one isn't returned """ - casa_version = request.casa_matrix_service.get_version( - request.params["version"] if "version" in request.params else None, - request.params["capability"] if "capability" in request.params else None, - request.params["telescope"] if "telescope" in request.params else None, - ) + params = { + "version": request.params["version"] if "version" in request.params else None, + "capability": request.params["capability"] if "capability" in request.params else None, + "telescope": request.params["telescope"] if "telescope" in request.params else None, + } + params = {k: v for k, v in params.items() if v is not None} + + casa_version = request.casa_matrix_service.get_version(**params) if casa_version: return Response(status_int=http.HTTPStatus.OK, json_body={"resp": f"{casa_version}"}) @@ -316,9 +319,12 @@ def get_casa_versions(request: Request) -> Response: :return: Response containing a list of CASA versions and their paths or a 404 response (HTTPNotFound) if none are returned """ - casa_versions = request.casa_matrix_service.get_versions( - request.params["capability"] if "capability" in request.params else None - ) + params = { + "capability": request.params["capability"] if "capability" in request.params else None, + } + params = {k: v for k, v in params.items() if v is not None} + + casa_versions = request.casa_matrix_service.get_versions(**params) if casa_versions: return Response(status_int=http.HTTPStatus.OK, json_body={"resp": f"{casa_versions}"}) @@ -353,9 +359,11 @@ def add_casa_version(request: Request) -> Response: or a 404 response (HTTPNotFound) if one isn't added """ added = request.casa_matrix_service.add_version( - request.params["version"], - request.params["capabilities"], - request.params["is_cluster_compatible"] if "is_cluster_compatible" in request.params else None, + version=request.params["version"], + capabilities=request.params["capabilities"], + is_cluster_compatible=request.params["is_cluster_compatible"] + if "is_cluster_compatible" in request.params + else True, ) if added: @@ -374,9 +382,11 @@ def update_casa_version(request: Request) -> Response: or a 404 response (HTTPNotFound) if one isn't updated """ updated = request.casa_matrix_service.update_version( - request.params["version"], - request.params["capabilities"], - request.params["is_cluster_compatible"] if "is_cluster_compatible" in request.params else None, + version=request.params["version"], + capabilities=request.params["capabilities"], + is_cluster_compatible=request.params["is_cluster_compatible"] + if "is_cluster_compatible" in request.params + else True, ) if updated: -- GitLab