"""Interface to the ows-product microservice.""" from owsrequest import request from owsresponse import status from product_review.constants import error, services from product_review.util import exception as exception_util def get_product(product_id): """Get product data.""" result = request.get(services.OWS_PRODUCT, f"/product/{product_id}") if result.status_code != status.OK: exception_util.raise_exception_for_ows_response( status=result.status_code, code=error.OWS_PRODUCT_ERROR_CODE, message=result.text, ) return result.json() def get_product_localization(product_id): """Get product localization.""" result = request.get( services.OWS_PRODUCT, f"/localization/product/{product_id}?legacy=1" ) if result.status_code == status.NOT_FOUND: return {"product_id": product_id, "items": []} if result.status_code != status.OK: exception_util.raise_exception_for_ows_response( status=result.status_code, code=error.OWS_PRODUCT_ERROR_CODE, message=result.json(), ) return result.json()