frssoft

joined 2 years ago
MODERATOR OF
 

Ну, я думаю тут и так понятно, аналогичное funkwhale-cli, но для PeerTube. Тут код ещё более-менее простой и топорный, склееный bash'ем конечно же. Подробно расписывать думаю не стоит, на любителя, не часто обновляю, но работает.

1
funkwhale-cli (TUI) (stars.leemoon.network)
submitted 2 years ago* (last edited 2 years ago) by frssoft@stars.leemoon.network to c/consoletuicli@stars.leemoon.network
 

предисловиеЧто-ж, вот и первый пост в этой коммунне, начну пожалуй со своего поделия, которое было когда-то в начале написано на скриптовом языке-клею bash со смесью jj (парсер JSON), mpv (рекомендуемый плеер), fzy (менюшка-селектор), curl (ну вы знаете что это). Был в общем, простой тупой плеер для фанки, чтобы искать треки по названиям, исполнителям и так далее. Но, мне этого было мало...
В общем, спустя время я это откинул в ящик и решил переписать на python3, по причинам связанных с тем, что я начал чуть-чуть усложнять этот проект, я хотел завезти например funkwhale радио прямо из консоли, реализовать некоторые костыли, которые доступны только в питоне и в целом, питон стоит того, хотя бы ради встроенного нормального JSON парсера.

В первую очередь "проект" скорее персональный, поэтому не удивляйтесь странностям в интерфейсе (хоть я лично декларирую его как простой) или тем более в коде (TW: профессиональные питон-программист_ки не рекомендую смотреть). А ещё этот проект конфликтует с названием другого проекта, непосредственно от funlwhale devs. И вообще, имейте ввиду, что тут полно багов, недочётиков и так далее, используйте на ваш страх и нервы, если вы любите самопал и хтонический ужас :3

Что умеет на данный момент, по сути всё тоже что башовый скрипт, который ушёл в историю, но теперь больше:
-Можно слушать радио по тегам, пользователям и их библиотекам, радио генерируется самой фанкой по сути, что интересно, если вы не авторизованы, то радио не работает, но это легко обойти, я в коде беру печеньки у инстанса при подключении :)
-Искать исполнителей, альбомы, треки, есть возможность ограничить результаты по одной библиотеке
-Слушать треки из recently listenings и favorites (они между прочим общедоступны частенько, опционально можно ещё включить репортинг своей активности в recently listening)
-Подгружает инстансы с сервера статистики и сбора инстансов от разработчиков FunkWhale и их можно менять как перчатки
-Собственно войти на свой инстанс (потребуется браузер)
-Послушать музыку из готовых плейлистов фанки и треки с каналов (подкасты например, но это костыль)
-Есть возможность включить persistent cache, чтобы сохранять треки во время прослушивания, cache дампится напрямую из mpv, он может быть сломан.

Остальной функционал и в целом основной тоже, работает не всегда хорошо и может не сооветствовать ожиданиям, отчасти из-за конкретного инстанса фанки, отчасти из-за моих кривых лап :)

Собственно, что потребуется для запуска этой шайтан машины:
Система: рекомендуется GNU/Linux или её эмулятор, работа на изолированных окружениях тотально не гарантированна
Эмулятор терминала: любой, который понимает возвратную каретку, чтобы переписать текст в конкретной строчке, TTY тоже сойдёт
Установить в систему: git python3 pip3 fzf mpv

git clone https://git.phreedom.club/localhost_frssoft/funkwhale-cli
cd funkwhale-cli
pip install -r requirements.txt

Запуск (очень рекомендую сделать сначала cd в папку с ним):
./funkwhale_cli

Конфигурирование: настройки хранятся в сгенерированном конфиге config.json, там довольно очевидные названия, но если что спросите, настройки могут не применяться без перезапуска.

Обновление: просто в каталоге с ним выполните git pull

Проверена работоспособность в: termux и void

Спасибо за прочтение :3