"""Model for ows-assets.""" from oto import response from owsrequest import request from daemonJwtHandler import daemon_handler from salessheets import config from salessheets.connectors import loggly from salessheets.constants import ows_services logger = loggly.get_current_logger() def get_large_cover_image_url(product_id): """Get image URL from ows-assets. Args: product_id (str): product_id to get large cover image URL for. Returns: Response: URL for large cover image. """ authorization = daemon_handler.daemon_handler( ows_services.OWS_ASSETS_SERVICE_NAME) image_path_response = request.process( application=ows_services.APPLICATION_NAME, environment=config.ENVIRONMENT, method=ows_services.SERVICE_CALL_METHOD_GET, service_name=ows_services.OWS_ASSETS_SERVICE_NAME, path='/image/product/large_cover/{}/location'.format(product_id), authorization_header=authorization, isDaemon=True) if image_path_response.status_code != 200: logger.warning( ('Could not retrieve large cover image URL for product_id: {}' ' from ows-assets.').format(product_id)) return response.Response(status=image_path_response.status_code) return response.Response( message=image_path_response.content.decode('utf8'))