I just discovered the Python Sidebar and I'm not sure how I got along without it.
I finally released the contributed plugins pack for PyBlosxom 1.3. To be honest, I really wanted to get around to testing everything more, but it's a big project and I never made the time to do it. Rather than sitting on it forever, I decided to release it now. It's vaguely possible that someone out there will download it, discover that the plugins they're interested in are terribly tested, and help fixing the real problem which is that the only testing we do on the PyBlosxom project is anecdotal testing ("well, it works for me...") by setting up some kind of magical testing framework.
More details on the PyBlosxom site.
I applied a few patches that I've received over the last month or so. I'll hopefully release the contributed plugins pack--there have been a lot of updates since I last released it (ages and ages ago).
Next step is to fold some more documentation into the manual and figure out to handle contributed plugins better. Need to figure out how to fix the problem that the ones I don't use on my blog are of unknown quality and different versions of the different plugins work with different version of PyBlosxom. I'd also like to re-organize the plugins into categories that make more sense.
At one point I was planning on building a page on the web-site tracking things that need to be done for PyBlosxom. Now I think I'll just put the list in a TODO.txt file in Subversion along with everything else. It occurs to me we probably had one at one point, but I probably deleted it.
Mark Edgar's PuTTYcyg patch is awesome. I've always had difficulties with the Cygwin console and using PuTTYcyg makes me a happy man. Definitely worth looking at if the Cygwin console issues (resize issues, fonts, copy/paste issues, ...) make life irritating.
I'm building a wedding site that contains mostly static material but has some material that's reminsicent of CMS and some material that's database-driven, too.
I surveyed the scene of Python web-frameworks and settled on Pylons for various reasons but mostly because:
- I liked their website. It was easy to figure out what it does, how it's architected, and I can find what I'm looking for.
- It's built on Paste. Paste is great infrastructure.
- It supports WSGI. Makes it easier to interoperate with other applications.
- The project is very healthy.
I've spent 40 minutes or so fiddling with the site so far with only a
few minor issues which required me to go poking through documentation.
One of the issues is that I have a series of templates in my templates/
dir and I uncommented out the commented out code in the
template.py controller so it's like this:
from weddingwww.lib.base import * class TemplateController(BaseController): def view(self, url): from pkg_resources import resource_exists if resource_exists('weddingwww', url+'.myt'): m.subexec(url+'.myt') else: m.abort(404, "File not found '%s'" % url)
That doesn't seem to work as I'd expect. For example, if I go to
ends up as
meeting but the resources_exist returns a false
even though there's a
meeting.myt file in my templates
After fiddling with this and trying to figure out where pkg_resources is defined, I just commented the code out and changed it to this:
from weddingwww.lib.base import * class TemplateController(BaseController): def view(self, url): m.subexec(url+'.myt')
which obviously does the wrong thing if the file doesn't exist.
SourceForge 1 now has Subversion access to project stuff so I migrated the CVS repository of all PyBlosxom things over to Subversion. Then I tested it out to make sure it works. So far it seems much easier to deal with in the grand scheme of things. I'll probably write more when I find something to kvetch about. :)
 For some reason, I keep typing "SourceForget"--not sure why.
Bunch of bug-fixes for things I didn't catch the first time around.
- fixed num_entries behavior
- fixed RSS 0.9.1, RSS 2.0, and Atom 1.0 feed templates
- fixed $body_escaped variable
- fixed problem with static rendering where it'd render "/index.html" and "//index.html" if you had entries in your root category
- merged ReadMeForPlugins documentation into the manual and added/fixed some more content
It's a good release. Many thanks to Norbert (current Debian packager), Joey, Joerg, and the many people who upgraded to PyBlosxom 1.3 despite the fact we have no regression or unit testing system --they are brave people.
 - This is a bad thing--we should fix this.
I admit that "solid bug report" is vague and probably different depending on the nature of the bug being reported. However, the amount of time it takes to research and fix a bug that has a well-written bug report vs. the time it takes to research and fix a bug that has a craptastic bug report is orders of magnitude in difference. In some cases, the latter bug report doesn't shed any light on the issue at all and thus won't result in a fix in any amount of time.
Anyhow, many many many thanks to Joey Hess to submitted a bug report in the Debian bug system (passed on to me by Norbert) regarding a problem with static rendering. He provided a wealth of information including his whole setup via subversion. He gets ten gold stars.
On a side note while I'm kvetching, I dislike bug reports that include a patch but don't specify what the problem is and why the patch is a good fix for the problem. It seems silly... you'd think I could look at the patch and work backwards to figure out what the issue is, but that is rarely the case. Often people who are providing the patches don't really understand what's going on at that point in the code and they've created a patch that "makes the problem go away for them" which is really different than "fixes the problem".
Norbert took over Debian packaging and has sent me a plethora of fixes, questions, and errata most of which I've applied, replied to, or at least thought about. Martin has also sent in several issues that will be fixed for PyBlosxom 1.3.1. Additionally, I went through all the bug reports on the SourceForge bugtracker and dealt with them.
In the process of doing all that, there were a bunch of bugs with 1.3 that got fixed. I also fixed Joey's problem regarding num_entries behavior. I'm re-thinking how some of PyBlosxom works (or doesn't work) and I've gotten all excited about making some changes.
I've done another huge push on the manual fixing a bunch of minor issues and folding documentation that existed in other places into the manual in the proper places. The manual is in docbook format and when I compile it (or whatever the verb should be) into a PDF, it clocks in at 76 pages. It's definitely the longest manual I've ever written. As time goes on, it gets more and more comprehensive. I hope people use it if only because I've spent days writing, honing, editing, and cursing it.
Next week some time (time-willing), I'll do another pass at overhauling the web-site and fixing the massive problem with plugins that we have. The issue is that I don't want to be doing contributed plugin packs--it's a pain in the ass and none of them are tested except the ones I use. On top of that, over the years people stop hosting their plugins which has caused some of the entries in the registry to become obsolete. I'm going to switch how I do things, ditch the registry plugin, and change the system so that the site hosts all the plugins that are offered. I'm also going to enforce some rules regarding things plugins need to have in order to be added to the registry.
Many apologies for the length of time that this has taken me to complete.
- Overhauled the flavour template finding system allowing people to more easily build, trade, and install "flavour packs"
- Added a built-in Atom 1.0 flavour and an RSS 2.0 flavour
- New logging system making it easier to track down PyBlosxom issues and plugin issues
- Documentation comes in the .tar.gz file, though it's in docbook format
- Some other bug fixes here and there
Plugins that work for PyBlosxom 1.2 should continue to work with 1.3.
Overall, I'm pretty happy with it. It's not everything I originally set out to do, but it's a good amount of work for a release. Many many thanks to everyone who helped out.
You can download it from the PyBlosxom website.