Pull to refresh

Workflow просмотра сериалов для Alfred

Reading time5 min
Views18K

В конце предыдущей своей статьи я начал рассказывать о том как у меня организован просмотр сериалов, но решил что это — тема для отдельной заметки.


Для тех кто не знает что такое Alfred

Alfred — это Spotlight на стероидах. Умеет чуть более чем всё что умеет Spotlight, плюс, начиная со второй версии, поддерживает написание, а так же использование написанных другими людьми, так называемых, workflows. То бишь, расширений функциональности самописными скриптами. Для их написания поддерживается несколько скриптовых языков:


  • bash
  • zsh
  • php
  • ruby
  • python
  • perl
  • osascript
  • javascript

Речь в этой статье пойдет об одном из таких расширений.


Немного забегая вперед, хочу показать, что же у нас есть в итоге…
Когда обнаруживается время расслабиться и включить сериальчик, я запускаю Alfred, ввожу "сериалы" и получаю в ответ список загруженных.


Красота, не правда ли?


ls -R папки сериалов
./
../
Во все тяжкие[Кубик в Кубе]/
Код[Alexfilm]/
Чак[ВГТРК]/
Мистер Робот[Lostfilm]/
Темная материя[Lostfilm]/
Уэйуорд Пайнс[Lostfilm]/
Королевство[Newstudio]/

./Во все тяжкие[Кубик в Кубе]:
./
../
3 сезон/
4 сезон/
5 сезон/

./Во все тяжкие[Кубик в Кубе]/3 сезон:
./
../
Breaking.Bad.s03e04.rus.eng.Kybik.v.Kybe.avi
Breaking.Bad.s03e05.rus.eng.Kybik.v.Kybe.avi
Breaking.Bad.s03e06.rus.eng.Kybik.v.Kybe.avi
Breaking.Bad.s03e07.rus.eng.Kybik.v.Kybe.avi
Breaking.Bad.s03e08.rus.eng.Kybik.v.Kybe.avi
Breaking.Bad.s03e09.rus.eng.Kybik.v.Kybe.avi
Breaking.Bad.s03e10.rus.eng.Kybik.v.Kybe.avi
Breaking.Bad.s03e11.rus.eng.Kybik.v.Kybe.avi
Breaking.Bad.s03e12.rus.eng.Kybik.v.Kybe.avi
Breaking.Bad.s03e13.rus.eng.Kybik.v.Kybe.avi

./Во все тяжкие[Кубик в Кубе]/4 сезон:
./
../
Breaking.Bad.s04e01.k3.avi
Breaking.Bad.s04e02.k3.avi
Breaking.Bad.s04e03.k3.avi
Breaking.Bad.s04e04.k3.avi
Breaking.Bad.s04e05.k3.avi
Breaking.Bad.s04e06.k3.avi
Breaking.Bad.s04e07.k3.avi
Breaking.Bad.s04e08.k3.avi
Breaking.Bad.s04e09.k3.avi
Breaking.Bad.s04e10.k3.avi
Breaking.Bad.s04e11.k3.avi
Breaking.Bad.s04e12.k3.avi
Breaking.Bad.s04e13.k3.avi

./Во все тяжкие[Кубик в Кубе]/5 сезон:
./
../
Vo.vse.tyazkie.(5.sezon.01.seriya.iz.16).2012.x264.WEB-DL.720p.Kubik.v.Kube.mkv
Vo.vse.tyazkie.(5.sezon.02.seriya.iz.16).2012.x264.WEB-DL.720p.Kubik.v.Kube.mkv
Vo.vse.tyazkie.(5.sezon.03.seriya.iz.16).2012.x264.WEB-DL.720p.Kubik.v.Kube.mkv
Vo.vse.tyazkie.(5.sezon.04.seriya.iz.16).2012.x264.WEB-DL.720p.Kubik.v.Kube.mkv
Vo.vse.tyazkie.(5.sezon.05.seriya.iz.16).2012.x264.WEB-DL.720p.Kubik.v.Kube.mkv
Vo.vse.tyazkie.(5.sezon.06.seriya.iz.16).2012.x264.WEB-DL.720p.Kubik.v.Kube.mkv
Vo.vse.tyazkie.(5.sezon.07.seriya.iz.16).2012.x264.WEB-DL.720p.Kubik.v.Kube.mkv
Vo.vse.tyazkie.(5.sezon.08.seriya.iz.16).2012.x264.WEB-DL.720p.Kubik.v.Kube.mkv
Vo.vse.tyazkie.(5.sezon.09.seriya.iz.16).2013.x264.WEB-DL.720p.Kubik.v.Kube.mkv
Vo.vse.tyazkie.(5.sezon.10.seriya.iz.16).2013.x264.WEB-DL.720p.Kubik.v.Kube.mkv
Vo.vse.tyazkie.(5.sezon.11.seriya.iz.16).2013.x264.WEB-DL.720p.Kubik.v.Kube.mkv
Vo.vse.tyazkie.(5.sezon.12.seriya.iz.16).2013.x264.WEB-DL.720p.Kubik.v.Kube.mkv
Vo.vse.tyazkie.(5.sezon.13.seriya.iz.16).2013.x264.WEB-DL.720p.Kubik.v.Kube.mkv
Vo.vse.tyazkie.(5.sezon.14.seriya.iz.16).2013.x264.WEB-DL.720p.Kubik.v.Kube.mkv
Vo.vse.tyazkie.(5.sezon.15.seriya.iz.16).2013.x264.WEB-DL.720p.Kubik.v.Kube.mkv
Vo.vse.tyazkie.(5.sezon.16.seriya.iz.16).2013.x264.WEB-DL.720p.Kubik.v.Kube.mkv

./Код[Alexfilm]:
./
../
The.Code.E03.WEB-DLRip.Rus.Eng.AlexFilm.avi
The.Code.E04.WEB-DLRip.Rus.Eng.AlexFilm.avi
The.Code.E05.WEB-DLRip.Rus.Eng.AlexFilm.avi
The.Code.E06.WEB-DLRip.Rus.Eng.AlexFilm.avi

./Чак[ВГТРК]:
./
../
3 сезон/
4 сезон/

./Чак[ВГТРК]/3 сезон:
./
../
Chuck.s03e01.HDRip.avi
Chuck.s03e02.HDRip.avi
Chuck.s03e03.HDRip.avi
Chuck.s03e04.HDRip.avi
Chuck.s03e05.HDRip.avi
Chuck.s03e06.HDRip.avi
Chuck.s03e07.HDRip.avi
Chuck.s03e08.HDRip.avi
Chuck.s03e09.HDRip.avi
Chuck.s03e10.HDRip.avi
Chuck.s03e11.HDRip.avi
Chuck.s03e12.HDRip.avi
Chuck.s03e13.HDRip.avi
Chuck.s03e14.HDRip.avi
Chuck.s03e15.HDRip.avi
Chuck.s03e16.HDRip.avi
Chuck.s03e17.HDRip.avi
Chuck.s03e18.HDRip.avi
Chuck.s03e19.HDRip.avi

./Чак[ВГТРК]/4 сезон:
./
../
Chuck.s04e01.HDRip.avi
Chuck.s04e02.HDRip.avi
Chuck.s04e03.HDRip.avi
Chuck.s04e04.HDRip.avi
Chuck.s04e05.HDRip.avi
Chuck.s04e06.HDRip.avi
Chuck.s04e07.HDRip.avi
Chuck.s04e08.HDRip.avi
Chuck.s04e09.HDRip.avi
Chuck.s04e10.HDRip.avi
Chuck.s04e11.HDRip.avi
Chuck.s04e12.HDRip.avi
Chuck.s04e13.HDRip.avi
Chuck.s04e14.HDRip.avi
Chuck.s04e15.HDRip.avi
Chuck.s04e16.HDRip.avi
Chuck.s04e17.HDRip.avi
Chuck.s04e18.HDRip.avi
Chuck.s04e19.HDRip.avi
Chuck.s04e20.HDRip.avi
Chuck.s04e21.HDRip.avi
Chuck.s04e22.HDRip.avi
Chuck.s04e23.HDRip.avi
Chuck.s04e24.HDRip.avi

./Мистер Робот[Lostfilm]:
./
../
Mr.Robot.S02E03.1080p.rus.LostFilm.TV.mkv

./Темная материя[Lostfilm]:
./
../
Dark.Matter.S02E04.720p.WEB.rus.LostFilm.TV.mp4

./Уэйуорд Пайнс[Lostfilm]:
./
../
Wayward.Pines.S02E09.1080p.rus.LostFilm.TV.mkv

./Королевство[Newstudio]:
./
../
Kingdom.s02e17.HDTV.720p.NewStudio.TV.mkv

То есть, заголовок и подзаголовок берутся из имен директорий. Например, последняя строчка из списка выше — папка "Чак[ВГТРК]" с подпапками сезонов. Если имя папки не содержит квадратных скобок, ее элемент в списке Alfred не будет иметь подзаголовка.


Когда выбираем интересующий пункт, запускается плеер (в моем случае — VLC) и начинает воспризводить первую непросмотренную серию из выбранного раздела. По окончании воспроизведения, он самостоятельно закрывается (у VLC есть параметр --play-and-exit). После чего скрипт предлагает удалить просмотренный эпизод, спрашивает насколько по пятибальной шкале он Вам понравился и отмечает оный просмотренным с соответствующим рейтингом на myshows.me. Уведомляет об успехе/неудаче. И, если уведомление гласит что все хорошо, кликом по нему можно попасть прямиком на страницу только что просмотренного эпизода. С версии 1.5, воркфлоу не требует для полноценного функционирования аккаунт на myshows.me (подразумевая соответствующие ограничения функциональности).


Для уведомлений используется terminal-notifier, который включен в workflow.
Так же зависимостями являются пакеты requests и alfred-workflow для python. Оба тоже включены в workflow.


Перед использованием, workflow предложит указать:


  • Папку в которой лежат сериалы
  • Плеер который будет их воспроизводить
  • Логин и пароль с myshows.me (с версии 1.5 — опционально)

Бонусы


Нижеперечисленное работает только если указать credentials с myshows.me


Помимио просмотра сериалов, сделал возможность посмотреть список уже вышедших, но еще не просмотренных по данным с аккуанта на myshows.me.


Unwatched


А так же, список тех что относительно скоро выйдут. Снова же используя api myshows.me и список подписок.


Mr. Robot


TBBT


Вводя название сериала после ключевого слова, можно фильтровать вывод, а по выбору пункта в любом из них, откроется страница соответствующего эпизода.


Ссылка на workflow.
Реализовано автообновление, используя GitHub Releases.

Tags:
Hubs:
If this publication inspired you and you want to support the author, do not hesitate to click on the button
+14
Comments13

Articles