Well, my CMS in Python is well underway. I'm now going through and converting my PHP code to Python (pretty much any other language to Python is a pleasant transition). I'm finally having to learn some of Python's libraries for doing what's built in in PHP, such as unescaping a URL, figuring out where to get the request path from, etc.
I spent the first span of time while I was working in mod_python + Cheetah to learn the system and figure out how to do away with Cheetah's errorCatcher system, which is kind of a mess. I think I have something very good that should be able to replace the existing errorCatcher system, and that should even have low enough overhead to use in production, simply because there is almost no overhead involved, in sharp contrast to using errorCatcher.
Eventually I'd like to contribute the code I've written to the Cheetah project, assuming they'll take it. Before I do that, I'll want to make sure it works fine "for real" and not just in my tests -- meaning that I run it live on my site, that the Cheetah test cases pass with it, and that I've made the necessary modifications to the Cheetah compiler.
My biggest unknown right now is how to struture my CMS under mod_python, since I'd like to persist a lot of data between requests, and some of what my CMS object does wouldn't be thread safe between requests.
Finally, boy am I glad I used my programming language neutral data markup language for the configuration in my CMS, since, as I already have a parser written in Python for it (and Perl, and Java, and C++, in addition to PHP, by the way), I was able to use the configuration data in Python without missing a beat. The configuration file parser would have been the biggest annoyance to have to rewrite out of everything in my CMS.
Update: The other thing that's a minor pain is that I have to write a lot of my own "infrastructure", like cookies, sessions, etc. At least I think... I'll have to check if Python has anything for this. Not that it's that big of a deal anyway, but it takes time.
Any reason you aren't using one of the Python web frameworks for this? Webware or Spyce should take care of alot of that infrastructure stuff for you...