"""Interaction with Apple Music API.""" from participant import config from participant.models.service.apple_music_client import ( AppleMusicClient, AppleMusicClientCredentialsManager, ) _apple_music_credentials_manager = AppleMusicClientCredentialsManager( client_id=config.APPLE_MUSIC_CLIENT_ID, team_id=config.APPLE_MUSIC_TEAM_ID, private_key=config.APPLE_MUSIC_PRIVATE_KEY, ) _apple_music_client = AppleMusicClient( client_credentials_manager=_apple_music_credentials_manager ) def search_artist(query, limit, offset, localization): """Execute artists search in Apple Music. Args: query (str): Search term. limit (int): Max number of matched artists. offset (int): Offset from the beginning of the result. localization (str): Localization for the search. Returns: List: List of matched artists. """ return _apple_music_client.search_artist( query=query, limit=limit, offset=offset, localization=localization ) def get_artist_by_id(artist_id): """Execute artist search by ID in Apple Music. Args: artist_id (str): Artist ID. Returns: dict: Matched artist. """ return _apple_music_client.get_artist_by_id(artist_id)