2008年08月09日
Python | trac 0.11.ja1のチケットメール
tracのチケットメールをiso-2022-jpで送る方法を書いたエントリーへのアクセスが以前から多かったのだけど、あの時のパッチに変更を加えた方がいい点があります。
body = unicode(body, 'utf-8').replace(u'\uff5e', u'\u301c')
body = body.encode('iso-2022-jp')
こうなってる箇所は
body = unicode(body, 'utf-8', 'replace').replace(u'\uff5e', u'\u301c')
body = body.encode('iso-2022-jp', 'replace')
こうした方がいいです。こうすると、本文に文字コード変換できない文字が含まれるときでもエラーになりません。
trac 0.11.ja1上で使っているnotification.pyをアップしておきます。
notification.py.zip
ストリッパーズの環境では、/usr/local/lib/python2.5/site-packages/Trac-0.11.ja1-py2.5.egg/trac に置いてます。
Comment