Сортировка треков в плейлисте VK

в 8:57, , рубрики: python, vk api, Вконтакте API, музыка, сортировка, метки: , , ,

Disclaimer: я начал писать этот скрипт, когда весёлые новости ещё не подоспели.

Буду краток.

  • Что оно делает?
    • Переупорядочивает треки в вашем плейлисте в VK так, чтобы с минимальным вмешательством он стал выглядеть аккуратнее.
  • Где взять?
  • Как пользоваться?
    • Понадобится Python 2.7.x. Качаете, устанавливаете. Берёте файл vk_music_organizer.py из архива, открываете в блокноте, в самом начале пишете в строках email = '...' и password = '...' свой логин и пароль соответственно. Сохраняете. Если у вас корректно установлен Python, то после этого достаточно просто запустить этот файл двойным щелчком. Да простят меня понимающие люди за такие слова.

  • Как оно работает?
    • Алгоритм сортировки такой:
      1. Разбить все треки на альбомы, все треки без указанного альбома скинуть в один безымянный альбом. Все альбомы отсортировать по алфавиту, безымянный поставить первым.
      2. Пройтись по всем трекам внутри каждого альбома и цепочки идущих подряд треков с одним исполнителем объеденить в кластеры.
      3. Внутри каждого альбома, для всех встреченных исполнителей найти самый большой кластер с ними. Из одинаковых по размеру выбрать первый в списке.
      4. Все треки, не лежащие в самом большом кластере своего исполнителя, перетащить в этот кластер.
      5. Объеденить подряд все кластеры внутри каждого альбома. Объединить все альбомы.

      Помимо сортировки там ничего особо содержательного нет. Я использую авторизатор и код вызова API из этой статьи. Не считая сортировки, работа программы ограничивается одним запросом к audio.get, одним к audio.getAlbums и кучей к audio.reorder. Бесплатный бонус: все треки, попавшие под суровую длань копирайта, отправляются в подвал.

Программа предоставляется как есть, со всеми багами и недостатками. Используйте на свой страх и риск. Enjoy!

Автор: Pastafarianist

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js