Adding feeds to rss2email via Firefox

I posted a while ago about giving up Google Reader in favor of rss2email. There are many wonderful things about getting your news feeds via email, but subscribing to new feeds in rss2email is a little clunky. Ideally, you could click on that handsome RSS icon in the status bar of your browser and have the page added to your rss2email list. r2eui provides a web UI to rss2email, so why not let’s try that?

Well, it’s useful in all kinds of ways, but it doesn’t work. r2eui requires POST requests, and your browser will only send GET requests from that little RSS button. So we pop open r2eui.py and apply this patch:

--- r2eui.py.orig    2011-04-02 09:37:00.000000000 -0700
+++ r2eui.py    2011-04-02 09:15:01.000000000 -0700
@@ -78,6 +78,9 @@
return render.ui(self.sitevars)
class add(base):
+    def GET(self):
+        return add.POST(self)
+
def POST(self):
i = web.input()

That lets the r2eui understand GET requests from our browser. Next step is easy — just tell Firefox that it can use your rss2email to handle feeds. To do that, we’re going to use the “about:config” page, as described in this tutorial. Here are the values to use:

browser.contentHandlers.types.6.title = My rss2email feeds
browser.contentHandlers.types.6.type = application/vnd.mozilla.maybe.feed
browser.contentHandlers.types.6.uri = http://my-web-site/add?post_submit=Add&defaultemail=checked&addemail=&urltoadd=%s

Shazam!