Awesome
rss2imap-gae
A reboot of rss2imap written in Hy, designed to run on Google App Engine.
Why?
rss2imap is the way I consume all my RSS feeds, but the existing codebase is archaic and in dire need of major refactoring. My current version works, but I had a much nicer aggregator in the works and always meant to finish that somehow.
Why Hy??
Hy is a LISP dialect that compiles down to Python bytecode, and I wanted to get a feel for it on a small-to-medium-sized codebase. Getting it to run on GAE was easy enough and the startup times are better than Clojure, so at one point this became a little more than an experiment and one bolt short of a full functional programming lab (although I'll freely grant that the whole thing seems more than a little nuts).
Architecture
There's nothing overly sophisticated about this at the moment. Feed URLs go into the data store, task queues turn URLs into items (probably with some post-processing in the future), items will be delivered via IMAP to subscribers.
A core assumption here is that users (like myself) will be using Gmail (at least while it still provides IMAP) and create a separate account with an application-only password so that rss2imap-gae
doesn't have to store their actual passwords (but yes, it does have to store something, and I'll be exploring alternatives).
GAE makes it trivial to authenticate users, so this is going to have a minimal web UI for managing feed subscriptions. I'm trying out Mithril to build it in an FRP-like fashion, which may or may not entail adding wisp to the mix for that extra LISPy feeling.