daemonfreaks.com

PyBlosxom 1.4.1 にバージョンアップした

posted by jun-g at Sun, 12 Aug 2007 17:12 JST

1.4が出たしバージョンアップしよう、と宣言しつつしばらく放置してたら何時の間にか1.4.1が出てたので、重い腰を上げて作業してみた。

まずはローカルのテスト環境を1.4.1に入れ替えてみて動作確認、と思って動かしてみたら全然動かん…。デバッグした結果、原因はWSGI Applicationなクラス「PyBlosxomWSGIApp」の中でconfigの設定を空辞書(厳密には違うけど)で上書きしてしまい、設定値がすべて参照できなくなってしまっている為、と判明。こんな誰でも引っかかりそうなバグがいつまでも残ってるわけないよね?と思ってsvnリポジトリを見てみたら、案の定rev.1802で修正済みやった。

一応修正パッチを晒しとこう。

--- pyblosxom.py.orig	2007-08-12 13:36:57.000000000 +0900
+++ pyblosxom.py	2007-08-12 13:49:37.000000000 +0900
@@ -468,7 +468,7 @@
         import config
         self.config = dict(config.py)
 
-        self.config = _config
+        self.config.update(_config)
         if "codebase" in _config:
             sys.path.insert(0, _config["codebase"])

ちなみにWSGI環境(っていう表現って妥当…?)で動作させない限りこのバグは発生しない。でもwsgirefがインストールされている場合、CGIで動作させても内部で強制的にwsgirefのCGIHandlerを使ってPyBlosxomWSGIAppクラスを実行する仕組みになっているので、このバグが発生してしまう。wsgirefはPython 2.5から標準ライブラリに含まれるようになったので、Python 2.5の人は特に要注意って事で。