"""ows-sound-recordings connections.""" import config from requests.exceptions import HTTPError from src.common.connectors import ows_sound_recordings def post_sound_recording(track_id): """Upsert a sound recording. Args: track_id (int): track id Returns: str: orchard_sound_recording_id from OrchardSoundRecording.id """ try: response = ows_sound_recordings.call( 'POST', '/sound_recordings', config.APPLICATION_NAME, config.ENVIRONMENT, extra_args={ 'json': { 'track_id': track_id } }, retry_codes=[ 408, 502, 503, 504 ] ) except HTTPError as e: if e.response.status_code == 409: return None raise e return response.json()['orchard_sound_recording_id']