import yaml from yandex_music import Client config = yaml.safe_load(open("config.yaml", "r", encoding="utf-8")) client = Client(token=config["token"]).init() def delete_track() -> None: len_playlist = client.users_likes_tracks() uid = client.account_status()["account"]["uid"] for track in client.users_playlists(kind=3)["tracks"]: client.users_likes_tracks_remove(track_ids=track["id"]) print( f"Удален трек: {track['track']['artists'][0]['name']} - {track['track']['title']}" ) def add_track(path: str) -> None: with open(path, "r", encoding="utf-8") as file: for track in file.read().splitlines(): track_search = client.search(text=track) try: track_info = track_search["tracks"]["results"][0] client.users_likes_tracks_add(track_ids=track_info["id"]) print( f"Добавлен трек: {track_info['artists'][0]['name']} - {track_info['title']}" ) except TypeError: print(f"Не удалось добавить '{track}'") def main() -> None: print("Выберите действие:") print("1. Удалить все треки") print("2. Добавить все треки") print("3. Удалить и добавить все треки") action = input("Введите: ").strip() match action: case "1": delete_track() case "2": file_path = input("Введите путь к файлу для добавления треков: ").strip() add_track(file_path) case "3": file_path = input("Введите путь к файлу для добавления треков: ").strip() delete_track() add_track(file_path) case default: print("Нет такого варианта") if __name__ == "__main__": main()