RSS action daemon
I hang out at an IRC channel where this guy agonyzer started talking about wanting a rss feed reader that could do configurable actions on feed items. But then he claimed to suck at programming…
So i made RSS Daemon. It uses a standard .cfg file to specify RSS feeds or pipes that provide rss feeds, what element in the feed item to look for, what to look for in that item, and what to do if you find what you look for.
The RSS daemon will reload it’s configuration if you change the config file.
The config file is as easy as rssdaemon_example.cfg – just read it and rename it to rssdaemon.cfg . There are comments in the file.
Oh, yes – rssdaemon.py –dump-only will give you the first element of every configured feed with the name of each element. VERY useful.
If there are any problems, patches, feature requests or questions – please email me at ola-rssdaemon [at] ormset.no
Alright, now press this link and download rssdaemon
This is a really great idea! I’ve been looking for a lightweight CLI rss feed aggregator that can pass items off to bittorrent or other things. I think there’s a few things that could be improved, but my main question is, what if you have one feed that you want to filter multiple items from? Each with a different action?
You cannot assign more than one action per feed.
What you do is you set up the same feed with a different [name] and different action. Like so:
[pirate_gilmore]
feed = http://thepiratebay.org/rss.php?cat=205
pipe = wget -q -O – “http://thepiratebay.org/rss.php?cat=205″
filter = “[Gg]ilmore.*[gG]irls”
lookfor = link
action = “cd output; screen -x -X screen btdownloadcurses.bittorrent \”%link\”"
retrytime = 10
[pirate_rome]
feed = http://thepiratebay.org/rss.php?cat=205
pipe = wget -q -O – “http://thepiratebay.org/rss.php?cat=205″
filter = “[Rr]ome”
lookfor = link
action = “cd romestuff; screen -x -X screen btdownloadcurses.bittorrent \”%link\”"
retrytime = 10
Glad you like it
Well, it looks like that would make it download the feed multiple times, which if you’ve got a bunch of filters you’d like to use, wouldn’t be very friendly to the source site.
But it’s still a pretty cool concept, and a tool worth exploring.
I guess you are right. Let me think about it for a while
code base looks ok, suggest add a timeout (command-line arg), cache the rss feeds save em in a directory, md5 the names, and have the fetcher compare the timestamp against the timout, so multiple searches against the same feed dont re-download the feed, which will only be re-downloaded after the timeout.
Have done similar to this (not daemonizable) in php.
Like it
cheers,
Ez