SvnAuthzAdminPluginを0.10で動かす
昨日の続き...http://d.hatena.ne.jp/kanu-orz/20080930/1222769321
Trac Lightningでは便利に動いているSvn Authz Admin Plugin。
0.10でもとTracHacksから落としてきても手元の環境*1では上手く動かなかったのは昨日書いた通り。そもそもTracHacksには0.10用しか無く、0.11は有志によるPatchが提供されている状態。そんな状態なのに0.10で動かないのは納得でき〜んということで調べてみました。*2
pythonは(も?)良く分からないので、そこはグーグル大先生頼り。
エラーメッセージを頼りに色々みていくとどうも、pathname2url/url2pathnameの辺りがwindows環境で問題になっているのを発見。
んで、Trac Lightningの方のソースを確認すると使わないように修正されている。
「これだ!」
ということで早速、admin_ui.pyを開いて14行目にある
from urllib import pathname2url, url2pathname
をサックリ削除。
次にエディターで「pathname2url」をサックリとnullに全置換(つまりは削除)
続いて「url2pathname」もサックリとnullに全置換。
編集を保存したら
setup.py install
としてプラグインをインストール後、Apache再起動して無事に動作することを確認。
以上で対応は完了。
お好みによってtemplates/admin_authz.csを修正して日本語化すると、プロジェクトでの株が上がるかも(笑)
authz_file = C:\trac\projects\svn.authz authz_module_name = SampleProject
な感じで「authz_file」「authz_module_name」の指定が必要。
当然のことながらSubversionでauthzを使うように設定しないと駄目なのでApacheの設定も忘れずに行いましょう。
とここまでやって自力解決したのは良いけど、TracLightningの1系にSvnAuthzAdminPluginって入ってたりするんだっけかな?