Pull to refresh

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

Reading time 1 min
Views 66K


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!
Tags:
Hubs:
+16
Comments 25
Comments Comments 25

Articles