+FIXME: redo sorting hack in feedparser.
+
If rawdog crashes while updating a feed, it shouldn't forget the feeds it's
already updated. Perhaps have an exception handler that keeps a safety copy of
the state file and saves where it's got to so far?
Review expiry logic: is maxage=0 the same as currentonly?
-Escape characters in text/plain?
-
Plugin that gets run on new articles.
OPML listing -- needs feed type.
Add a needs_update() method to Feed; make Rawdog call that on all the feeds
(when not being forced) and then call update() on each of them that needs it.
-Make feedparser take a urllib2.Opener rather than proxies etc.
-
Where articles can be shown to have been updated (by unique ID), only show the
latest version.
For next release:
- generalise templating (so the show template option takes a name, etc.)
-- remove old option parsing
- require Python 2.3; kill 2.2 urllib2 workaround
- use unicode.encode('ascii','xmlcharrefreplace') if possible?