T2Y/main.py

56 lines
1.9 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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