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.

    Приятного просмотра!
    Метки:
    Поделиться публикацией
    Похожие публикации
    Комментарии 61
    • +1
      Хабраэффект не щадит никого =\
      Решил посмотреть что за сервис… и все…
      • +2
        суровая правда вечернего воскресенья…
      • +1
        Черт, у нас несовместимые форматы файлов настроек, да еще и названия разные :)
        • –5
          линукс во всей красе:)
        • +1
          Небольшой багфикс: теперь скрипт умеет понимать имена файлов вида «S0..E0..» — заглавные буквы.
          • 0
            Спасибо, очень полезная штука.
            • 0
              А я только собрался на Python по той же причине писать =)
              • 0
                Так пишите! Что мешает то?
                • +2
                  Ничего не мешает. Необходимость пропала просто.
              • +2
                По-моему, следует такую плюшку для все ос сделать.
                • 0
                  Не для всех это делается быстро ;)
                • +3
                  как это по нашему — вместо того чтобы поставить новый пакет, переписать на другом языке…
                  • +42
                    У вашего МакОС что-то со шрифтами, сглаживанием и иконками.
                    Oh wait…
                  • 0
                    Спасибо, очень полезный скрипт, хочу заранее спросить, а что если его поставить в автозагрузку при просмотре?
                    • 0
                      Ставьте, никаких проблем. На вход ему нужно подать имя файла.
                      • +1
                        Только не забудьте после просмотра ещё и оценить серию )
                        • 0
                          Спасибо) Сервис полезный, тому кто очень много смотрит сериалов итп)
                        • +1
                          только не при открытии, а при просмотре половины серии, как в iTunes :)
                        • +2
                          А для жены моей под винду можно склепать такую штукенцию?
                          • +1
                            на баше нет))) а вот на си++ вполне можно…
                            • 0
                              таки cygwin есть для баша
                              • +2
                                Поставить cygwin для скрипта на баше, от того что лень поставить ruby?)
                              • 0
                                Я как раз недавно так извращался :) Запускал некоторые линуксовые скрипты с минимальными изменениями на виндовом порте баша. Все работало отлично, с цветами в консоли только не разобрался. В данном случае только notify-send и zenity придется на что-нибудь заменить.
                                • 0
                                  И все же я не понимаю иногда людей, когда они ставят руби итп чисто для одной задачи) это все равно что в фреймворке использовать 1 функцию :)
                                • 0
                                  habrahabr.ru/blogs/programming/112772/ — а потратить десять минут на установку ruby (8 Mb) + rubygems (<1 Mb) совсем лень?
                                  • 0
                                    Да не лень. Просто ставить тольво для этого целый Руби с джемами как-то не кошерно вроде.
                                    • 0
                                      Вы так говорите, как будто это какой то огромный монстр… Вам места на диске жалко, или религия? В чем не кошерность, я не понимаю… :(
                                      • 0
                                        bash — наше всё
                                • 0
                                  Спасибо! =)
                                  • 0
                                    Плюшка интересная и полезная, спасибо.

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

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

                                                        • НЛО прилетело и опубликовало эту надпись здесь
                                                          • +3
                                                            в имени домена букв меньше
                                                            • НЛО прилетело и опубликовало эту надпись здесь
                                                            • 0
                                                              Ни чем, это абсолютно разные сервисы.
                                                            • –1
                                                              Создаем новую папку на рабочем столе!
                                                              • 0
                                                                Жалко, что отмечать можно только по одной серии. А то я сразу выделил все просмотренные серии и отправил в скрипт, а он только первую отметил :)
                                                                С радостью бы написал фикс, но bash'ем владею плохо. Напишу еще заодно отмечатор под винду, чтобы не только на ноуте, но и на компе можно было просто отмечать.

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