"""Interface to the ows-assets 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 validate_audio(product_id): """Validate audio for product.""" ows_response = request.get( services.OWS_ASSETS, "/v2/validators/product/{}/audio".format(product_id) ) if ows_response.status_code != status.OK: return exception_util.raise_exception_for_ows_response( status=ows_response.status_code, code=error.OWS_ASSETS_ERROR_CODE, message=ows_response.json(), ) return ows_response.json() def apply_corrections(product_id): """Apply validations .""" ows_response = request.put( services.OWS_ASSETS, "/v2/asset/product/{}/corrections/apply".format(product_id) ) if ( ows_response.status_code == status.NOT_FOUND and ows_response.json().get("message") == error.ERROR_MESSAGE_NO_ROWS_UPDATED ): return None if ows_response.status_code != status.OK: return exception_util.raise_exception_for_ows_response( status=ows_response.status_code, code=error.OWS_ASSETS_ERROR_CODE, message=ows_response.text, ) return ows_response.json()