3
I Use This!
Inactive

News

Analyzed about 10 hours ago. based on code collected about 12 hours ago.
Posted over 15 years ago
You can grab the 0.5.5 release in tar or deb format from the download page. Fix OPML import Fix changing feed names immediately Two feeds with the same name are now merged Add -b (background flag) to canto-fetch Hot on the heels of the 0.5.5 ... [More] release, a few bug fixes. OPML import was strangely broken, and canto-fetch really needed -b to avoid reliance on screen. [Less]
Posted over 15 years ago
You can grab the 0.5.5 release in tar or deb format from the download page. Allow add_feed() to be called without a tag (name) Add canto-fetch -d (daemon mode) Add runhere.sh script to run canto straight from source Add source_urls Fix OPML export ... [More] output Fix Canto hang after help Cleanup C compile warning More rendering cleanups Another modest set of bug fixes and features. An important addition is that the on-disk format has changed, but the transition should be completely automatic. An important change for those of you that haven't used Canto before is the addition of the runhere.sh that automatically installs and runs canto from the source directory. This method doesn't put anything into your root (installs the app to the source directory, automatically generates ~/.canto), and therefore doesn't require root privileges. Lastly, since there has been some complaint that add_feed() makes it too hard to add lots of feeds, a new function source_urls() has been added to allow you to source a file (like source_opml()) that's merely a newline delimited list of URLs. add_feed() now also accepts None as the first arguments, at which point the title built into the feed will be used. Have fun! Submit bugs! [Less]
Posted over 15 years ago
You can grab the 0.5.4 release in tar or deb format from the download page. Fixed renderer overrides Another simple bugfix release. The skinny is that default renderer overrides were broken a couple of releases back (too much time spent overriding ... [More] specific feeds =P). Essentially, renderer = MyAwesomeRenderer() has turned into default_renderer(MyAwesomeRenderer()) [Less]
Posted over 15 years ago
I apologize, there was a hiccup in the build and the packages for 0.5.4 were unavailable for about two minutes. Anyway, I also wanted to mention that Canto now has a Debian bug associated with it (read the details). It's currently of the status ITP ... [More] (Intent to Package). I was really surprised to see it get moved up after < 24 hours. Hopefully, minus some probable cleanups, that means Canto will make it into Debian and I can stop hand building .deb packages and start ironing bugs on all of the myriad architectures Debian runs on. [Less]
Posted over 15 years ago
You can grab the 0.5.3 release in tar or deb format from the download page. Fixed browser zombies Fixed closing link enumeration Fixed missing -i/-o man page references Add ability to use any type of URL for feed (e.g. file://) Just an assortment ... [More] of bugs to fix this time, no major functionality additions (other than expanding the URL to include everything that urllib2 can parse, which 0.4.* could do, but the default feedparser can't. Have fun! [Less]
Posted over 15 years ago
Just a little note, that I converted the pages to use Markdown. If you see anything that's mis-highlighted or messed up, contact me.
Posted over 15 years ago
You can grab the 0.5.2 release in tar or deb format from the download page Added sorting Added OPML support Added change_feed addfeed() == add_feed() Added missing default_filterlist() Fixed bad keybind crashes Obviously, the major ... [More] thing is OPML support this release. `canto -i` and `canto -o` import and export an OPML file from a path. Also, a config option source_opml(path) has been added, which automatically adds the feeds from an opml every time it's invoked. This is useful with change_feed, which lets you add attributes to feeds that have already been added. Thanks to evaryont for help. Another oft requested feature is sorting, which has been added. It allows you to define a sort function (covered in the Python wiki here, with examples in canto/extra.py). At the moment, it can only be defined at config time, because there isn't a real generic way to define your own tags at the moment (this will be handled in the future). Lastly, a couple of little annoying bugs were the catalyst to finally get a release out the door, invalid key binds were broken in the wrappers introduced in 0.5.2 and now they're fixed. Thanks to urukrama. I'd like to make a note about bugs. I'll be happy to debug any problem that you have with Canto, however some problems are with feedparser. Frustratingly, each distro keeps feedparser at a different patch level, and can cause different behavior. Generally, anything that has to do with Canto showing the wrong information in the wrong place, that's a feedparser bug (unless you've changed the renderer, at which point it could be you). If you discover a problem like this, all I'm going to do to fix it is submit a bug to the feedparser bug tracker, or suggest a patch for you to forward to your distro's maintainers. I use Debian, and it's feedparser seems reasonably well behaved, so if you're on a Debian based distro, I highly suggest you keep up with that one. Anyway, have fun. Submit bugs! Join us in #canto on irc.freenode.net! [Less]
Posted over 15 years ago
You can grab the 0.4.7 release in tar or deb format on the download page. Canto 0.4.7 ChangeLog Fix HTML entities in story titles. Prioritize read over unread stories on disk. Remove --delete, canto-fetch cleans up automatically. Add ... [More] vim-like (j/k) scrolling default bindings. Theme cleanups, interpret more HTML tags. Add User-Agent request header, fixing feeds like Google News. Add next/prev_unread bindings (default to ./,) A more varied changelog than usual, with a couple of new keybinds. The important fixes are with the HTML entities and better tag handling. One thing that's bound to be noticeable is that the reader text is now properly left justified, making it have much nicer edges. User-Agent addition will fix some popular sites that filter out things like wget and urllib2. Canto's non-generic user-agent is now "Canto/[version]". Most of the detective work on Google News was done by hobophobe, thanks for that. Just a note on Google News however... I hate that feed. It never worked before this version, of course, but now that I've looked at it, it totally blows my mind. Inside each item of the feed, they put a timestamp (i.e. "59 minutes ago") directly into the item content. Not in the XML (pubDate, which a lot of feeds use, and Canto ignores), but straight into the text. Then, everytime canto-fetch retrieves the feed, that timestamp changes ("59 minutes ago" turns into "One hour ago"). This changes the hash of the item, and makes canto-fetch put it down as a separate item. That's perfectly fine though, canto is smart enough to ignore changes between items where the title is the same (unless you specify title_idx=False in the configuration for that feed). But when you have so many items (truly the bounty of Google News is astounding) that some bounce out of the feed (and are thus deleted if you haven't set keep= to a high enough number) and bounce back into the feed two minutes later, canto has no reason to recognize that item as read. The bottom line is that when you close canto and reopen it, 90% of the time all of your Google News hasn't been read, if you've left it closed long enough for canto-fetch to run in your cron. The solution, at least, in part, is to set the keep high enough (I'm using keep=100 right now, and the problem is somewhat mitigated). Another solution is to just set your rate to something higher than the default 5 minutes, like 30 minutes. Thank you Google... [Less]
Posted over 15 years ago
You can grab the 0.4.8 release in tar or deb format on the download page. Canto 0.4.8 ChangeLog Fix minor search problem Move title_key logic into canto_fetch Nice short changelog. This release has been tagged in git for a couple of ... [More] days, but I was out of commission this past weekend with some sort of evil disease. Needless to say, I was only good for watching mass amounts of Babylon 5 and laying in bed cursing the Fates. For this release, I reluctantly moved more logic into canto-fetch because the previous approach proved to be too complex for its own good. Namely, if title_idx = True (the default), then each story's hash automatically = 0, meaning that items conflict properly. Before, canto-fetch hashed everything and let the client sort it out. Because of this change, feeds that have ever changing hashes (Google News and, for the last couple of days now, Reddit), are properly handled. If you have any trouble with crashing, try `rm -rf ~/.canto/feeds` before continuing. I'm not confident that the new system has all the bugs worked out of it, but it's more correct than the previous method. [Less]
Posted over 15 years ago
UPDATE: You can grab an example config here. As you can see, common content has been moved into canto.extra, which you can browse. I just merged the experimental 0.5.0 branch into the master git repository. It's not tagged or anything, but ... [More] later this week I'd like to release a beta_1. The purpose of 0.5.0 was to correct some of the brainfucked things about 0.4.0. For example, all of the state is handled with Python's cPickle module, rather than the rigid NULL delimited format of the previous versions. Looking back at the decision to do that, it's obvious that I pulled a lot of C programmer baggage into the design and it's caused me more trouble than I'd care to admit. Another big change is the use of Mark Pilgrim's feedparser module for Python, rather than the expat-esque parser before. Feedparser is truly comprehensive and, now that I've ditched the rigid on-disk format, the client can take advantage of all of the insane content that feedparser can parse. In other words, the 0.4.0 parser was good enough for supporting a format that sucked and now that the format doesn't suck, feedparser makes a lot of sense. In terms of end-user experience, a lot has changed as well. There are now both global and per-feed filters that can be cycled through with [/] and {/} respectively. Anyone familiar with filter() will understand how those work, but essentially you give a filter function that takes a tag and an item and returns whether that item should be displayed. You can easily ignore items that have to do with topics you don't care about (filter on U.S. Politics, for example). Hooks are another new addition. These allow you to run your own functions on particular events, like new_item (which runs once per every item, ever), resize, unselect, and select. These allow you to do things like change the number of columns dynamically on resize, or change xterm titles, or grab enclosed content from files. Yet another change is that Renderer() objects can be assigned to specific feeds, allowing you to customize the information provided for items in that feed. For example, adding the Slashdot department to the reader, or appending the number of diggs an item has gotten to the front of the story's title. Last, but not least, the usual number of renderer enhancements and fixes. All of your 0.4.0 configs should be backwards compatible as well. Again, it's not ready for prime-time, it still needs some corners dusted, but it does a hell of a lot better than 0.4.0 on practically everything, so it may be worth your time to fire it up and come to #canto on irc.freenode.net to talk / bug report on it. [Less]