Podget + rsync + BashPod + GUI = KBashPod для подкастофилов

    Вступление


    В прошлой серии мы Вам рассказали о том, как собирались “убивать” FineReader. Однако это было далеко не первое начинание нашего дуэта. В этот раз центром нашего повествования станет программа KbashPod. Которая создана для пользователей Linux, постоянно прослушивающих подкасты на своем ПК и мобильных устройствах.


    Каждый из авторов программы уделяет некоторое время прослушиванию подкастов. При чем в процессе прослушивания задействованы как мобильные устройства, так и стационарный ПК. А в самом процессе решаются такие задачи как:
    • актуализация БД подкастов (добавление новых подкастов или удаление старых);
    • загрузка новых подкастов по мере их выхода;
    • удаление ранее заруженых подкастов;
    • синхронизация подкастов между ПК и мобильным устройством.

    Первые три пункта без проблем решаются консольной утилитой podget, последняя rsync. Ну и само собой, все эти задачи решаемые двумя программами, было логично объединить одним скриптом, автором которого является mr-protos.

    Статья Mr-Protos о создании BashPod-а


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

    И так, начнём

    В системе должны быть установлены следующие пакеты:
    • libnotify-bin*
    • podget
    • rsync

    Примечание:
    Пакет libnotify-bin нужен для всплывающих уведомлений, которые показывают ключевые действия скрипта или сообщают об ошибке. В различных дистрибутивах название этого пакета может отличаться, или он может входить в состав пакета libnotify.

    Настройка podget

    Запускаем в консоли podget для автоматического создания конфигурационных файлов и прерываем его работу сочетанием Ctrl + C

    Редактируем файл ~/.podget/podgetrc (параметры, оставляемые по умолчанию пропущены):

    Задаём место загрузки подкастов

    dir_library="место на компьютере куда будут загружаться подкасты"

    Комментируем строку, т.к. для наших целей нет необходимости в создании плей-листа

    #playlist_namebase=New-

    Включаем удаление старых подкастов

    cleanup=1

    Задаём количество дней хранения файлов до очистки

    cleanup_days=7

    Если используется файловая система FAT32, то следует раскомментировать строчку для удаления символов в названии файлов, запрещённых в данной файловой системе. Рекомендую в любом случае раскомментировать её и добавить туда символ % для более эстетичного сохранения имён файлов (даже если файловая система позволяет использовать такие символы)

    filename_badchars=!#$^&=+{}[]:;"'<>?|\

    Задаём минимально количество свободного места на диске, при котором загрузка будет остановлена. В данном примере — 600Мб

    min_space=614400

    Редактируем список адресов подкастов для загрузки (~/.podget/serverlist):

    Комментируем все строки этого файла если нас не интересуют подкасты, записанные там по умолчанию.

    Добавляем строчки нужных подкастов по принципу:

    <ссылка> <Категория> <Имя>

    Например:

    russianubuntupodcast.rpod.ru/rss_ynq_bbb4.xml Linux_Podcasts Russian Ubuntu Podcast

    Примечания:
    • символы пробела в URL должны быть заменены на %20;
    • название категории не должно содержать пробелов;
    • сохраняться в файловой системе подкасты будут по принципу: /Папка_с_подкастами/Категория/Имя/выпуск_1.mp3.


    Создание bash-скрипта

    Создаём исполняемый bash-скрипт (bashpod.sh) для синхронизации скачаных подкастов с mp3-плеером или телефоном в режиме флешки:

    #!/bin/bash
    PODDIR="/место на компьютере/куда скачиваются подкасты/"
    DEVICEDIR="/директория/куда монтируется устройство/проигрывающее mp3/"

    notify-send 'Bashpod' 'Скачивание подкастов' ; podget -s &&
    notify-send 'Bashpod' 'Синхронизация с телефоном' ; rsync -ruq --del "$PODDIR" "$DEVICEDIR" && notify-send 'Bashpod' 'Готово' || notify-send 'Bashpod' 'При работе возникли ошибки'


    Данный скрипт синхронизирует скачивает подкасты, удаляет старые и синхронизирует их с mp3-плеером. В приведённом скрипте существует возможность выведения малоинформативного сообщения об ошибках, ловить которые следует запуская скрипт из консоли.

    Теперь создаём кнопку на панели и пункт меню средствами вашего DE, где прописываем название и путь к скрипту bashpod.sh.

    KBashPod


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

    В GUI доступны основные опции настройки, такие как:
    • количество скачиваемых подкастов;
    • время жизни старых подкастов;
    • критический размер свободного места для остановки скачивания;
    • основные пути синхронизации подкастов;
    • редактирование библиотеки подкастов.





    Кроме того, благодаря доработке кода исходного bash-скрипта, KBashPod имеет собственные файлы конфигурации утилиты podget, размещаемые в директории /.kbashpod. Это позволяет независимо использовать саму утилиту и KBashPod. Также это избавляет от предварительного редактирования файлов ~/.podget/podgetrc и ~/.podget/serverlist, описанного в начале этой статьи.

    В новой версии (1.1) программы была добавлена интеграция с KDE Solid и теперь при обнаружении нового съемного носителя информации предлагается запустить KBashPod для синхронизации подкастов. А по умолчанию в программе уже предустановленна ссылка на подкаст от одного из авторов статьи (b0noI), It-sexual о котором можно более подробно узнать на страничке подкаста.

    Ссылки



    Авторы

    Similar posts

    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 10

      +1
      Главное не забрасывать начинания, развивать идеи.
        0
        Нато он и ОпенСорс что бы начинания одних если они интерестны, могли развивать и другие;)
        0
        Просто супер! Открыл для себя, что можно не ползать по страницам в поисках новых подкастов =)
        PS. Мне в последнее время кажется, что все любители радио и подкасты ушли на Linux. Под Win-платформу не видел ничего подобного.
          +3
          Под виндоус есть iTunes, под линукс не видел ничего подобного
          0
          Замечательная штука. Жаль уже нету ipod (я смог его сломать =)) ), но идея хороша и для других плееров. Замечательная штука. Рад буду попользоваться =).
            +1
            Для iPod-а понадобились бы дополнительные «танцы», потому-что на него файлики rsync-ом заливать бестолку.
            +5
            Поиск по слову «gpodder» ничего не дал, Значит, упоминаний нет. Буду первым: вы изобрели велосипед.
            Мои подкасты (список на сервере), скриншоты программы.
              0
              Альтернатива всегда хороше) Особенно если название одной начинается с G а другой с K ;)
                +1
                Замечательная программа с очень отзывчивым разработчиком. Умеет выкачивать видео с фидов на YouTube в указанном качестве. Пользуюсь уже давно.
                0
                Мне нравится такой подход, «снять сложность» и довести до законченного решения. Здорово.

                Правда, мне как «одмину» ближе серверные дела: я по мотивам постов на хабре взгромоздил FlexGet на FreeNAS, а rsync там и так уже есть с WebGUI.

                Only users with full accounts can post comments. Log in, please.