A command-line syndication feed monitor mimicking tail -f
Project description
Rsstail is a command-line syndication feed monitor with behaviour similar to ‘tail -f’. Rsstail (python/feedparser) is inspired by rsstail (C/libmrss), but provides more customizable output formatting and additional features.
Usage
$ rsstail --help Usage: rsstail [options] <url> [<url> ...] General Options: -v --verbose increase verbosity -V --version show version and exit -h --help show this help message and exit -x --help-format show formatting help and exit Feed Options: -i --interval <arg> poll every <arg> seconds -e --iterations <arg> poll <arg> times and quit -n --initial <arg> initially show <arg> items -w --newer <arg> show items newer than <arg> -b --bytes <arg> show only <arg> description/comment bytes -r --reverse show 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 <arg> date/time format -f --format <arg> output format (overrides other format options) Examples: rsstail --timestamp --pubdate --title --author <url1> <url2> <url3> rsstail --reverse --title <url> <username:password@url> rsstail --interval 60|60s|5m|1h --newer "2011/12/20 23:50:12" <url> rsstail --format '%(timestamp)-30s %(title)s %(author)s\n' <url> rsstail --format '{timestamp:<30} {title} {author}\n' <url>
$ rsstail --help-format Format specifiers must take one the following forms: %(placeholder)[flags]s {placeholder:flags} Examples: --format '%(timestamp)s %(pubdate)-30s %(author)s\n' --format '%(title)s was written by %(author)s on %(pubdate)s\n' --format '{timestamp:<20} {pubdate:^30} {author:>30}\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 and pad %(placeholder)10s - right align and pad {placeholder:<10} - left align and pad {placeholder:>10} - right align and pad {placeholder:^10} - center align and pad Available placeholders: id link desc title author updated pubdate expired created comments timestamp
note: {placeholder:flags} style placeholders are available only with Python>=2.7.
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 reset --hard HEAD $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, colorize and colorex).
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.
Shell completion
Rsstail comes with shell completion for bash and zsh.
bash: copy rsstail.sh to /etc/bash_completion.d/
zsh: copy rsstail.zsh anywhere in $fpath
If you are installing system-wide, rsstail will attempt to place these files in the right locations.
Similar projects
License
Rsstail is released under the terms of the New BSD License.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.