From c56854394cd05eca368ab9074b4b2f59291d4b50 Mon Sep 17 00:00:00 2001 From: Redume Date: Sat, 7 Jun 2025 19:55:40 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A1=D0=B4=D0=B5=D0=BB=D0=B0=D0=BB=20=D0=B2?= =?UTF-8?q?=D1=8B=D0=B1=D0=BE=D1=80=20=D0=B4=D0=B5=D0=B9=D1=81=D1=82=D0=B2?= =?UTF-8?q?=D0=B8=D1=8F:=20=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5,=20=D1=83=D0=B4=D0=B0=D0=BB=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5=20=D1=82=D1=80=D0=B5=D0=BA=D0=BE=D0=B2=20=D0=B8?= =?UTF-8?q?=D0=BB=D0=B8=20=D0=B8=20=D1=82=D0=BE,=20=D0=B8=20=D0=B4=D1=80?= =?UTF-8?q?=D1=83=D0=B3=D0=BE=D0=B5=20=D0=BE=D0=B4=D0=BD=D0=BE=D0=B2=D1=80?= =?UTF-8?q?=D0=B5=D0=BC=D0=B5=D0=BD=D0=BD=D0=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.py | 46 +++++++++++++++++++++++++++++++++++++--------- 1 file changed, 37 insertions(+), 9 deletions(-) diff --git a/main.py b/main.py index e758458..bbe4e07 100644 --- a/main.py +++ b/main.py @@ -2,27 +2,55 @@ import yaml from yandex_music import Client config = yaml.safe_load(open("config.yaml", "r", encoding="utf-8")) -client = Client(token=config["token"]) +client = Client(token=config["token"]).init() def delete_track() -> None: - client.init() 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']['title']}") + print( + f"Удален трек: {track['track']['artists'][0]['name']} - {track['track']['title']}" + ) -def add_track() -> None: - with open("tracks.txt", "r", encoding="utf-8") as file: +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)["tracks"]["results"][0] - client.users_likes_tracks_add(track_ids=track_search["id"]) + 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}'") - print(f"Добавлен трек: {track_search['title']}") + +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__": - delete_track() + main()