Feedparser-based feed aggregation django app.
Used to produce stuff in feeds section, delivering all the news I care about.
Original (vanilla) feedjack looks pretty abandoned - no real updates since 2008 (with quite a live history before that).
Feedparser itself isn't much better for that matter (at least when it comes to releases, svn looks more lively), but it's purpose is fairly simple and feed formats haven't really changed since 2005, so that's not so bad.
The issues with no-updates to feedjack for me are compatibility concerns with django (1.3 atm), a few quirks and oversights and a bit lacking functionality in regard to post-processing and filtering of the fetched stuff. A bit weird ordering or template bug can be solved by patches, but processors or filters require more hacking than that, so I call the whole thing a fork.
Guess I'll try to push the stuff back to the upstream, although I've had to revise quite a lot of original code-style to be comfortable with it, so it's hard to cherry-pick real functionality changes from this stuff now.
- (fixed) Bugs:
- (added) Features:
...and there's a bunch of TODOs in my trackers, which I'll probably migrate to local tickets.
- Transactional updates, so single feed failure is guaranteed not to produce inconsistency or crash the parser.
- Simple individual Post filters, built in python (callable, accepting Post object and optional parameters, returning True/False), attached (to individual Feeds) and configured (additional parameters to pass) via database (or admin interface).
- As complex as needed cross-referencing filters for tasks like site-wide elimination of duplicate entries from a different feeds (by arbitrary comparison functions as well), and automatic mechanism for invalidation of their results.
- Sane, configurable logging in feedjack_update, without re-inventing the wheel via encode, prints and a tons of if's.
- "immutable" flag for feeds, so their posts won't be re-fetched if their content or date changes.
It's not a nod to some mythical "preformance reasons", but a real pain in the ass with feeds like reddit selection or some blog-aggregates, where "[comments: X]" part is totally dynamic and RSS-reader I'm using (claws-mail + RSSyl) to read feedjack-aggregate has a problem with it, flagging these posts as "unread" endlessly.
Not that it's really a feedjack problem, rather a reader's, but it certainly is easier for me to fix on feedjack-level.
- Dropped a chunk of obsolete code (ripped from old django) - ObjectPaginator in favor of native Paginator.
- Minimalistic "fern" theme and image feed oriented "fern_grid" themes.
- Quite a few code optimizations.
- This URL is a fossil (scm/dvcs) repository, which can be freely cloned via "fossil clone" command.
- Auto-updating git mirror is accessible via git://fraggod.net/feedjack.git with cgit web interface available here... for some reason cgit crashes with some libc errors, so web interface isn't much to look at atm, but I plan to fix it someday.
Not much, I'm afraid, since it basically works for me (even though there still is a lot of room for improvement) and I don't seem to have any spare time these days.
There's an ongoing merge efforts though, see [6f19c39609] and Tickets section in general.