from apollo_utils.service.utils.amazon import AmazonId from typing import Any, Dict def set_amazon_playlist_id_as_list(track_in_playlist: Dict[str, Any], assign_key: str = "playlist_id"): """Set amazon playlist id as: group_id = "B084JBKF4F" -> track_in_playlist["playlist"]["amazon_playlist_id"] int_id_with_market = "amazon_173_us" -> track_in_playlist["playlist"]["playlist_id"] track_in_playlist[<>] = [group_id, int_id_with_market] Args: track_in_playlist: Track In Playlist items with included playlist information object assign_key: field key to assign amazon playlist_id to """ group_id = track_in_playlist["playlist"]["amazon_playlist_id"] int_market_id = track_in_playlist["playlist"]["playlist_id"].replace("amazon_", "") track_in_playlist[assign_key] = [group_id, int_market_id] def set_amazon_playlist_full_id(playlist: Dict[str, Any], assign_key: str = "id", int_id_key: str = "id"): """Set amazon playlist id as: { "amazon_playlist_id": "B084JBKF4F", "country_code": "us", int_id_key: "173" ... } -> playlist[assign_key] = "B084JBKF4F:173_us" Args: playlist: Playlist items with included playlist information object assign_key: field key to assign amazon full playlist_id to int_id_key: field key to take amazon int group playlist_id from """ playlist[assign_key] = AmazonId( playlist["amazon_playlist_id"], f'{playlist[int_id_key]}_{playlist["country_code"]}' ).full_id def set_amazon_is_personalised_false(playlist: Dict[str, Any], assign_key: str = "is_personalised"): """Set amazon "is_personalised" = False if it is None Args: playlist: Playlist items with included playlist information object assign_key: field key to assign amazon full playlist_id to """ v = playlist.get(assign_key) playlist[assign_key] = False if v is None else v