1

Я пытаюсь создать программу или скрипт (назовем его Worker), работающий в среде Linux (желательно, чтобы это был Raspbian или Debian), который собирал ссылки из RSS-каналов и отправлял их другим 2 программам для обработки.

Вот конкретные шаги, которые должен сделать Worker :

  1. Анализировать несколько RSS-каналов из текстового документа, разделенных новой строкой

    https://example.com/feed.xml?id1 nsfw
    https://example.com/feed.xml?id2
    https://example.com/feed.xml?id3
    [...]
    https://example.com/feed.xml?id9`
    
  2. Извлечение ссылок из каждого канала

  3. Удалить ссылки с определенными ключевыми словами в элементе <title> . Ключевые слова устанавливаются для каждого канала в текстовом документе, отделенном от соответствующей ссылки пробелом, например:

    https://example.com/feed.xml?id1 nsfw
    

    а если не установлено - удаление не требуется.

  4. Сортировать полученные ссылки по дате / времени на основе элемента <published> . Пример:

    <published>2018-07-27T01:02:03+00:00</published>
    
  5. Отправить новейшую ссылку в программу- handler (это просто внешняя программа, которая уже существует)

    handler https://received-from-RSS.com/abc
    
  6. Пометить отправленную ссылку как watched (желательно делать это только в памяти, поскольку она должна работать на Raspberry Pi, и я хотел бы уменьшить использование SD-карты)

  7. Соберите ответ из программы- handler который должен содержать другую ссылку, и передайте ссылку, полученную из handler в программу- player

    player https://received-from-Handler.com/xyz
    
  8. Подождите, пока player закончит играть и не закроется. Затем отправьте в хронологическом порядке следующую (и еще не отмеченную watched) ссылку на handler

    И мы повторяем этапы с 5 по 8.

  9. Каждые 30 минут Worker должен обновлять ссылки из RSS-каналов, например, повторять этапы 1–9, сохраняя watched ссылки в памяти и не отправляя их handler .

Я чувствую, что эта функциональность может быть реализована в Bash или Python. У меня нет опыта программирования, но я отчаянно нуждаюсь в Worker . Поэтому я был бы признателен, если бы вы посоветовали мне некоторые конкретные учебные материалы или примеры кода, которые помогут мне написать эту конкретную программу. Я не прошу написать это для меня, я буду признателен за вашу помощь с любым отдельным шагом. Мне просто нужно несколько направлений

Я опубликую результат здесь, как только закончу.

0