Daemon mode -- keep a pidfile, and check the mtime of the state file to avoid having to reread it. Option to disable flocking Fix rawdog -a https://www.fsf.org/blogs/rms/ Somewhere safe for plugins to persist data... --change-feed-url option to change feed URL without losing articles Look at Expires header to automatically select "periods" FIXME: redo sorting hack in feedparser. - Longer-term future: split features out to plugins - refresh header - HTML4 output - removing duplicate articles - DayWriter - mx.Tidy - proxy auth - per-feed proxies - length limiting in templates - mx.Tidy flag to output xhtml - nuke future pubDates (Rick van Rein) - And new features to write as plugins - sort by feeds first (should work since sort is stable) - Article numbering (probably not) - Ctrl-C shouldn't print the "error loading" warning. 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? Improve efficiency -- memoise stuff before comparing articles. __comments__ from the feed (and anything else worth having?). Option to choose whether full content or summary is preferred. Review expiry logic: is maxage=0 the same as currentonly? Plugin that gets run on new articles. OPML listing -- needs feed type. Do for now as separate program once config parser separate. Error reporting as feed (or as separate display?) (Dorward) RSS output. raymond@dotsphinx.com Feed schedule spreading. Timeouts should be ignored unless it's been getting timeouts for more than a configurable amount of time. 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. For rawdog 3: - generalise templating (so the show template option takes a name, etc.) - require Python 2.3 - use unicode.encode('ascii','xmlcharrefreplace') if possible? - "for line in file" - "item in dict" - include author in article hash Abandoned: - __feednumber_mod_N__ (for easier default styles, i.e. _mod_4 counts 0-3,0-3) (didn't really work for lots of feeds)