feed2exec - programmable feed reader¶
feed2exec
is a simple program that runs custom actions on new RSS
feed items (or whatever feedparser can read). It currently has
support for writing into mailboxes (Maildir folders) or executing
commands, but more actions can be easily implemented through
plugins. Email are saved as multipart plain/HTML and can be sent to
arbitrary folders.
Examples¶
Saving feed items to a Maildir folder:
feed2exec add "NASA breaking news" https://www.nasa.gov/rss/dyn/breaking_news.rss --folder nasa
feed2exec fetch
This creates the equivalent of this configuration file in ~/.config/feed2exec/feed2exec.ini
:
[DEFAULT]
output = feed2exec.plugins.maildir
mailbox = '~/Maildir'
[NASA breaking news]
folder = nasa
url = https://www.nasa.gov/rss/dyn/breaking_news.rss
Send new feed items to Transmission:
feed2exec add "Example torrent list" http://example.com/torrents/feed --output feed2exec.plugins.exec --args 'transmission-remote marcos.anarc.at -a '{item.link}' -w /srv/incoming'
Send new feed items to Mastodon, using the toot commandline client:
feed2exec add "My torrent" http://example.com/blog/feed --output feed2exec.plugins.exec --args 'toot post "{item.title} {item.link}"'
Send new feed items to Twitter, using the tweet commandline client from python-twitter:
feed2exec add "My torrent" http://example.com/blog/feed --output feed2exec.plugins.exec --args 'tweet "{item.title:40s} {item.link:100s}"'
Show feed contents:
feed2exec add "NASA breaking news" https://www.nasa.gov/rss/dyn/breaking_news.rss --output feed2exec.plugins.echo --args "{item.title} {item.link}"
feed2exec fetch
Multiple feeds can also be added with the OPML import command. See the feed2exec manual page document for more information including known issues and limitations.
Installation¶
This can be installed using the normal Python procedures:
pip install feed2exec
It can also be installed from source, using:
pip install .
It can also be ran straight from the source, using:
python -m feed2exec
Important
feed2exec is explicitly written for Python 3. It may be possible to backport it to Python 2 if there is sufficient demand, but there are too many convenient Python3 constructs to make this useful. Furthermore, all dependencies are well-packaged for Py3 and the platform is widely available. Upgrade already.
The program may also be available as an official package from your Linux distribution.
Source, documentation and issues are available on GitLab.
Why the name?¶
There are already feed2tweet and feed2imap out there so I figured I would just reuse the prefix and extend both programs at once.
Contents: