"""OWS Logic.""" from owsrequest import request from src import config from src.exceptions import InReviewQueueException from src.exceptions import OwsRequestException from src.log import log def update_not_for_distribution(product_id): """Update not for distribution flag by product id.""" result = request.process( config.APPLICATION_NAME, config.ENVIRONMENT, 'PUT', 'ows-product-digital', f'/product/{product_id}/not_for_distribution', json={"not_for_distribution": "N"} ) log.debug(f'Update response: status={result.status_code} content={result.text}') if result.status_code != 200: raise OwsRequestException('update not_for_distribution', result.text) return result.json() def submit_products_by_id(product_id): """POST products to review queue.""" result = request.process( config.APPLICATION_NAME, config.ENVIRONMENT, 'POST', 'ows-product-review', f'/review-queue/product/{product_id}' ) log.debug(f'Submit response: status={result.status_code} content={result.text}') if result.status_code == 409: # product is already in review queue raise InReviewQueueException(result.json()) if result.status_code != 201: raise OwsRequestException('submit', result.text)