Сделал выбор действия: добавление, удаление треков или и то, и другое одновременно

This commit is contained in:
Danil 2025-06-07 19:55:40 +03:00
parent 125b793bb1
commit c56854394c

46
main.py
View file

@ -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()