Bash: Отмечаем новые серии в Myshows.ru

Прочитав статью, был вдохновлён удобством реализации как и самим сайтом. Единственно что мне казалось избыточным, это выбранный язык Ruby, интерпретатора которого у меня нет в системе и ставить под этот скрипт я его не хотел. Поэтому, открыв api.myshows.ru, написал аналогичный скрипт на bash.





Код получился достаточно объёмный, поэтому не буду его приводить в статье. Кто хочет ознакомиться — вот ссылка.

Установка скрипта в систему (для Nautilus) очень проста:

1. Скачиваем архив
2. Распаковываем в ~/.gnome2/nautilus-scripts
Можно пользоваться.

Скрипт при первом запуске создаст папку настроек в ~/.tvshows, попросит ввести логин и пароль, сохранит их там же в виде login:md5_hash_pass и больше вас не будет беспокоить.

Умеет обрабатывать файлы вида «Lie.To.Me.s03e08.rus.avi», «Lie To Me s03e08 rus.avi», «Lie To Me s03e08 e09 rus LostFilm TV.avi» «Lie.To.Me.s03e08-e09.rus.avi» и прочие вариации. Если попадается объединённая серия отмечает обе (но не больше!).

В скрипте используются bash, grep, wget, notify-send, zenity.

Приятного просмотра!
+59
30 января 2011, 19:55
56
Nebulosa 13,9

комментарии (61)

+1
Bkmz #
Хабраэффект не щадит никого =\
Решил посмотреть что за сервис… и все…
+2
sergeyfast #
суровая правда вечернего воскресенья…
+1
cypok #
Черт, у нас несовместимые форматы файлов настроек, да еще и названия разные :)
–5
XuMiX #
линукс во всей красе:)
+1
Nebulosa #
Небольшой багфикс: теперь скрипт умеет понимать имена файлов вида «S0..E0..» — заглавные буквы.
0
Ziklon #
Спасибо, очень полезная штука.
0
flexoid #
А я только собрался на Python по той же причине писать =)
0
seriyPS #
Так пишите! Что мешает то?
+2
flexoid #
Ничего не мешает. Необходимость пропала просто.
+2
Faraday #
По-моему, следует такую плюшку для все ос сделать.
0
Sk8er #
Не для всех это делается быстро ;)
+3
vansickle #
как это по нашему — вместо того чтобы поставить новый пакет, переписать на другом языке…
+42
Nesp #
У вашего МакОС что-то со шрифтами, сглаживанием и иконками.
Oh wait…
0
artyomst #
может это ubuntu?
+12
GamePad64 #
Сарказм же!
+2
turbo_exe #
кстати, это стандартный вид убунту?
+4
girichev #
Нет, это тема MacOS, а вот стандартный вид.
+1
Nebulosa #
Говоря по правде это даже совсем не Ubuntu…
0
JokerOfGod #
Спасибо, очень полезный скрипт, хочу заранее спросить, а что если его поставить в автозагрузку при просмотре?
0
Nebulosa #
Ставьте, никаких проблем. На вход ему нужно подать имя файла.
+1
sergeyfast #
Только не забудьте после просмотра ещё и оценить серию )
0
JokerOfGod #
Спасибо) Сервис полезный, тому кто очень много смотрит сериалов итп)
+1
mholub #
только не при открытии, а при просмотре половины серии, как в iTunes :)
+2
frujo #
А для жены моей под винду можно склепать такую штукенцию?
+1
JokerOfGod #
на баше нет))) а вот на си++ вполне можно…
0
Postsantum #
таки cygwin есть для баша
+2
KKS #
Поставить cygwin для скрипта на баше, от того что лень поставить ruby?)
0
deseven #
Я как раз недавно так извращался :) Запускал некоторые линуксовые скрипты с минимальными изменениями на виндовом порте баша. Все работало отлично, с цветами в консоли только не разобрался. В данном случае только notify-send и zenity придется на что-нибудь заменить.
0
JokerOfGod #
И все же я не понимаю иногда людей, когда они ставят руби итп чисто для одной задачи) это все равно что в фреймворке использовать 1 функцию :)
0
cypok #
habrahabr.ru/blogs/programming/112772/ — а потратить десять минут на установку ruby (8 Mb) + rubygems (<1 Mb) совсем лень?
0
frujo #
Да не лень. Просто ставить тольво для этого целый Руби с джемами как-то не кошерно вроде.
0
cypok #
Вы так говорите, как будто это какой то огромный монстр… Вам места на диске жалко, или религия? В чем не кошерность, я не понимаю… :(
0
ekzo #
bash — наше всё
0
Listratov #
Спасибо! =)
0
freekir #
Плюшка интересная и полезная, спасибо.

Но мне лично, больше доставляет на самом сайте отмечать.
0
DukeGlukem #
У меня это тоже уже в порядке вещей. Как посмотрел серию — сразу на сайт отмечать.
0
DukeGlukem #
Спасибо за труд. Странно, в первый раз, когда пытался отметить файл ~/videos/tv-series/Leverage/Leverage.s01e11.rus.LostFilm.TV.avi, то он ругнулся на то, что сериал videos/tv-series/Leverage (или как-то так) не найден. Потом кинул этот файл в ~/ и отметил — все норм стало. Правда воспроизвести ошибку так и не удалось.
0
Nebulosa #
Нужно передавать только имя файла, полный путь не нужен. Собственно как и сам файл не нужен, нужно лишь его название.
0
DukeGlukem #
В том то и дело, что вызывал скрипт из контекстного меню файла.
Сейчас ради интереса попробовал вызвать контекстное меню директории Leverage и выбрать этот скрипт — меня закидало сообщениями «Leverage был отмечен на сайте» с интервалом в пару секунд. Зашел на myshows — отметились все не просмотренные серии этого сериала кроме последней. Чудеса…
0
DukeGlukem #
Понял, в чем дело. Директория Leverage была развернута как ветка домашней директории в наутилусе, поэтому к имени файла приписался еще и относительный путь.
0
root_sashok #
Включите Composite Manager :)
0
Nebulosa #
Приглядитесь на тени контекстных меню, он включен. Не Compize, но metacity.
0
root_sashok #
Но углы у вас не сглаживаются, есть неплохая тема для Emerald :)
0
Hellcunt #
Кстати, если у кого «Сценарии» не появились в контекстном меню, то нужно сделать chmod +x ~/.gnome2/nautilus-scripts/'Отметить просмотренным'
0
giner #
1. Очень желательно добавить chmod 600 для файла с логином и паролем.
2. Вместо wget, возможно, лучше использовать curl.
0
giner #
Если это директория, то 700.
0
OnlineMagic #
Может кто подскажет, как выровнить виджет который показывает notify-send? У автора виджет не наезжает на гномовскую панельку.
0
nehxby #
По мотивам вашего скрипта попробую соорудить скрипт, который при вызове его на папке с сериалом скажет мне последнюю непросмотренную серию. Мне такого функционала не хватает.
Если лень все не испортит, выложу исходник вдобавок к вашему)
+2
Nebulosa #
Может проще зайти на сайт? :)
0
MonkAlbino #
Приятней же: вместо открытия папки с сериалом сразу запускается плеер с нужным видео ;)
0
DukeGlukem #
А лучше сразу программу, которая сама решит, что сегодня посмотреть. Чтобы сама умела чередовать сериалы и подбирать новые по моему вкусу.
+2
gorl #
Спасибо! Благодаря этому посту я узнал, что вышел новый сезон V!!!
+1
Lion58 #
ААА спасибо. Как же хотелось такую фичу в Ubuntu!
0
Capitan_Nemo #
:D
Конечно, возможно, что я невнимательно читал все комменты и топик, но мне почему-то показалось, что речь идет именно о Ubuntu Linux.
0
Ai_boy #
>> Единственно что мне казалось избыточным, это выбранный язык Ruby, интерпретатора которого у меня нет в
>> системе и ставить под этот скрипт я его не хотел. Поэтому, открыв api.myshows.ru, написал аналогичный
>> скрипт на bash.

Один извращенец сменяет другово >.<

–2
andreyu #
Поясните, чем этот сервис (http://www.myshows.ru) лучше films.imhonet.ru
+3
LiaDesign #
в имени домена букв меньше
0
andreyu #
;)
А автокомплит зачем придуман?
0
ImKremen #
Ни чем, это абсолютно разные сервисы.
–1
evil_random #
Создаем новую папку на рабочем столе!
0
skobkin #
Жалко, что отмечать можно только по одной серии. А то я сразу выделил все просмотренные серии и отправил в скрипт, а он только первую отметил :)
С радостью бы написал фикс, но bash'ем владею плохо. Напишу еще заодно отмечатор под винду, чтобы не только на ноуте, но и на компе можно было просто отмечать.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.