Skip to main content

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            print 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            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 <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 --format '%(timestamp)-30s %(title)s %(author)s\n' <url>
rsstail --interval 60|60s|5m|1h --newer "2011/12/20 23:50:12" <url>
$ rsstail --help-format
Format specifiers have the following form:
    %(placeholder)[flags]s

Examples:
    --format '%(timestamp)s %(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, 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.

Similar projects

License

Rsstail is released under the terms of the New BSD License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rsstail-0.1.1.tar.gz (8.5 kB view details)

Uploaded Source

File details

Details for the file rsstail-0.1.1.tar.gz.

File metadata

  • Download URL: rsstail-0.1.1.tar.gz
  • Upload date:
  • Size: 8.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for rsstail-0.1.1.tar.gz
Algorithm Hash digest
SHA256 3e7879adc80f86928c4d9afd9aff1f0bf2f4d219ca7e8357416f107e963865d9
MD5 726eacecb120a3ba28238e349fe115f1
BLAKE2b-256 f0068377b7c3cdad4b6a0371bbc57aece87253c68c0e8b7158d1705e0d1f9913

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page