"""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) ) response_json = response.json() if response.status_code != 200: error_message = ( f'Failed get release correction for id {release_correction_id}\n' f'code: {response_json.get("code")}\n' f'message: {response_json.get("message")}\n' ) raise Exception(error_message) return response_json def get_lyric_revisions(error_correction_id): """Get lyric revisions.""" revision = get_release_correction(error_correction_id) items = (list(filter(lambda x: ( x['field_name'] == 'lyrics' and x['table_name'] == 'track' ), revision['items']))) return items