"""Model for ows-assets.""" from owsrequest import request from activity_detector import base_config def get_release_image_url(product_id, retries=5, logger=None): """Get release image url by product_id. Args: product_id (int): product_id from art_relations.releases. retries (int): the number of retries. logger (logger): logger object. Returns: str: image url. """ if retries < 0: raise Exception('Could not get image url') result = request.process( application='swf-activity-detector', environment=base_config.ENVIRONMENT, method='get', service_name='ows-assets', path='/image/product/large_cover/{}/location'.format(product_id)) if result.status_code == 200: return result.content.decode('utf8') if result.status_code == 404: return None if logger: logger.error('Could not get image url: %s', result) return get_release_image_url(product_id, retries - 1)