読者です 読者をやめる 読者になる 読者になる

Trac-0.11rc1-shuwaでタイムラインのRSSフィードが届かない

trac

http://d.hatena.ne.jp/ZOETROPE/20080525で、Trac-0.11rc1-shuwaを入れて、特に問題なく動いていたんだけど、タイムラインのRSSフィードがとんでないことに気がついた。

何でだろうと思って、ブラウザでフィードを表示させてみると、

UnicodeDecodeError: 'ascii' codec can't decode byte 0x80 in position 0:
ordinal not in range(128)

というエラーメッセージが表示されていた。

いろいろ調べてみると、チェンジセットのタイトルや概要に日本語が含まれていると問題が発生するようだ。

/usr/lib/python2.5/site-packages/Trac-0.11rc1-py2.5.egg/trac/versioncontrol/web_ui/changeset.pyを開くと、

if field == 'title':
    return title + _(' がコミットされました')
elif field == 'summary':
    return '%s: %s' % (title, shorten_line(message))

となっているので、858行目の文字列の前にuを追加する。

if field == 'title':
    return title + _(' がコミットされました')
elif field == 'summary':
    return u'%s: %s' % (title, shorten_line(message))

これで、Apacheを再起動するとなおった。