Another Weblog Overhaul

10 AM April 22, 2006

Inspired by Ian Bicking’s article, A Do It Yourself framework, I’ve replaced this weblog’s CherryPy-0.10 application server with a home grown one, stitched together from WSGI components.

The overhaul took about thirty hours, from working out how to download these new-fangled egg thingies1, to being ready to upload the new server to In that time, I was able to learn WSGI and implement an app server framework, upgrade pysqlite, textile and Cheetah, make some much-needed changes to the weblog administration interface, and delete five months worth of blogspam. This is not so much a testament to my l33t python sk1llz, as it is to the quality of these packages and technologies.

The current technology stack is:

  1. Python PasteWSGI components
  2. RoutesURL interpretation
  3. CheetahHTML templating2
  4. textileHTML generation
  5. PySQLite – DB-API driver and database engine.
  6. dateutil – Relative date deltas3

This is the second time I’ve overhauled my weblog software. The first was a move from from Twisted to CherryPy. Back then, I made a point of stating that I thought Twisted had lots of good things going for it, but that it just wasn’t a good tool for building a weblog. I can’t say the same thing this time: CherryPy is a great tool for building a weblog. The only reason for moving away from CherryPy was to explore WSGI.

I’m glad I did because WSGI is fun. The API is small and convenient, and provides raw access to much of the HTTP environment. It doesn’t impose many design decisions on application code, yet allows components to work together . So far, each Paste component I have used has met Ian Bicking’s usual high standards and worked exactly as advertised.

That’s about it for now. I hope to fill in some more detail later.


1 I know Paste isn’t for n00bs, but some proper “quick-start”
instructions that begin with a pointer to “ez_install”: would be nice.

2 The latest version of which has a very nice footnote function.

3 I wish dateutil.relativedelta was part of the standard library.

By alang | # | Comments (1)
(Posted to Stuff, Software Development and Python)


At 10:38, 23 Apr 2006 Mark Rees wrote:

Glad to see the site back up and using WSGI, so will need to find someone else to talk about at SyPy meetings :-)

Have you done anything to prevent blogspam?


Add Comment

(Not displayed)

(Leave blank line between paragraphs. URLs converted to links. HTML stripped. Indented source code will be formatted with <pre> tags.)

© 2003-2006 Alan Green