"""Logic for release corrections.""" from owsrequest import request from src import config from src import service def get_release_correction(release_correction_id): """Get a release correction.""" response = request.process( config.APPLICATION_NAME, config.ENVIRONMENT, 'GET', service.OWS_PRODUCT_WORKFLOW, '/correction/{}'.format(release_correction_id) ) if response.status_code != 200: error_message = ( f'Failed get release correction for id {release_correction_id}\n' f'Status code: {response.status_code}\n' f'Error: {response.text}\n' ) raise Exception(error_message) return response.json() def get_asset_revisions(release_correction_id): """Get asset revisions.""" revision = get_release_correction(release_correction_id) items = (list(filter(lambda x: ( x['field_name'] in ['coverart', 'track'] ), revision['items']))) return items