feedo
feedo copied to clipboard
RSS reader for automation.
feedo
Read, format and output an RSS stream.
feedo is inspired by rsstail and it's python copy rsstail.py
Usage
To fetch an RSS stream:
feedo http://lorem-rss.herokuapp.com/feed --format '{title}'
Add --follow option to watch updates on feed.
Supported format arguments:
{id}{link}{title}{author}{content}{enclosures[i].href}{enclosures[i].length}{enclosures[i].type}{published}{created}{updated}{expired}
(See feedparser Documentation for more available format arguments)
Values can be styled in python 3 string formatting syntax. For example, to format published value in RFC 3339:
feedo http://lorem-rss.herokuapp.com/feed --format '{title:.11} ({link}) -- {published:%Y-%m-%dT%H:%MZ%z}'
(See strftime (3) for date format arguments)
Value conversion
feedo extends value conversion syntax and support following extra conversion flags:
!xconverts value to a SHA-1 checksum string!Xconverts value to a SHA-256 checksum string!fescapes value to make it safe for a file name!gslugifys the value with python-slugify
For example, to get the sha1 hash of a link value and get first 12 characters:
feedo http://lorem-rss.herokuapp.com/feed --format '{link} => {link!x} => {link!x:.12}'
Example
feedo can be used in implementing some automatic job:
feedo "http://bt.byr.cn/torrentrss.php?rows=10&linktype=dl&passkey=XXXXXXXXXX" \
--format '[ ! -f /media/.abt/{id} ] && abt add --uri "{enclosures[0].href}" --dir="/media/Downloads/{title!f}" && touch /media/.abt/{id}' \
--follow | sh
This snippet watches an RSS stream of a RSS subscription and add new tasks to aria2 using abt.
WARNING take a trust-worthy source before pipe anything generated into a shell!!!
License
(The MIT License)