rsstail is a command-line syndication feed monitor with behaviour similar to 'tail -f'.
rsstail is inspired by rsstail (C/libmrss) and provides more customizable output formatting and additional features.
Usage
$ rsstail --help
Usage: rsstail [options] [ ...]
General Options:
-v --verbose increase verbosity
-V --version print version and exit
-h --help show this help message and exit
-x --help-format show formatting help and exit
Feed Options:
-i --interval poll every seconds
-e --iterations poll times and quit
-n --initial initially show items
-w --newer show items newer than
-b --bytes show only description/comment bytes
-r --reverse print in reverse order
-s --striphtml strip html tags
-o --nofail do not exit on error
Format Options:
-t --timestamp show timestamp
-l --title show title
-u --url show url
-d --desc show description
-p --pubdate show publication date
-a --author show author
-c --comments show comments
-g --no-heading do not show headings
-m --time-format date/time format
-f --format output format (overrides other format options)
Examples:
rsstail --timestamp --pubdate --title --author
rsstail --reverse --title
rsstail --format '%(timestamp)-30s %(title)s %(author)s\n'
rsstail --newer "2011/12/20 23:50:12"
$ rsstail --help-format
Format specifiers have the following form:
%(placeholder)[flags]s
Examples:
--format '%(timestamp) %(pubdate)-30s %(author)s\n'
--format '%(title)s was written by %(author)s on %(pubdate)s\n'
Time format takes standard 'sprftime' specifiers:
--time-format '%Y/%m/%d %H:%M:%S'
--time-format 'Day of the year: %j Month: %b'
Useful flags in this context are:
%(placeholder)-10s - left align placeholder and pad to 10 characters
%(placeholder)10s - right align placeholder and pad to 10 characters
Available placeholders:
id
link
desc
title
author
updated
pubdate
expired
created
comments
timestamp
Installing
The latest stable version of rsstail is available on pypi, while the development version can be installed from github:
pip install rsstail # latest stable version
pip install git+git://github.com/gvalkov/rsstail.git # latest development version
Alternatively, you can install it manually like any other python package:
git clone git@github.com:gvalkov/rsstail.py.git
cd rsstail.py
git co $versiontag
python setup.py install
Colorizing output
Since the output of rsstail can be easily piped to another process for processing, the preferred way of adding color is to use an utility like clide or multitail (other potential tools are ccze and colorize).
Example clide settings:
rsstail ... \
| clide -e '/(Title|Pubdate|Author|Link|Description):/g,fg=yellow,bold' \
-e '/^.*FAILURE.*$/,fg=red,bold \
Example multitail settings:
# add to /etc/multitail.conf
colorscheme:rsstail.py:console syndication feed monitor
cs_re:red,,bold:^.*FAILURE.*$
cs_re:cyan:(:|/)
cs_re:yellow:^.......... ..:..:..
cs_re:green:(Title|Author|Link|Pubdate):
multitail -cS "rsstail.py" -l "rsstail ..."
These two examples are barely touching the surface of what clide and multitail are capable of. Refer to the documentation of these excellent projects for more information.
Memory/Cpu
rsstail (C):
/usr/bin/time -v rsstail -u http://rss.slashdot.org/Slashdot/slashdot
Percent of CPU this job got: 1%
Maximum resident set size (kbytes): 2852
rsstail (python):
/usr/bin/time -v rsstail http://rss.slashdot.org/Slashdot/slashdot
Percent of CPU this job got: 16%
Maximum resident set size (kbytes): 12484
No surprises here - the C rsstail is more memory/cpu efficient than this one. Use rsstail if memory/cpu efficiency is of concert to you.
Product's homepage
Requirements:
· Python