TicketChangePluginとTracLightning(2.3.2)

トラックバックいただいた先の変更内容見て、TracLightningのバージョンによっては挙動違いそうだなーと思ったので一つ前の安定バージョンっぽい2.3.2を別途動かしてみた。

2.4.0環境で改造したTicketChangePluginをそのままコピペしてインストールで普通に動かせたのだが、編集結果をdbに書き込んだ後にTracがなにやら不穏なエラーページにジャンプしてしまった。

一応コメント書き換え自体は意図したとおりに完了している模様。エラー内容からして多分日本語の扱いに問題があるのかなぁーと。
いただいた情報参考に、以下の2番目の追加変更でこのエラー自体を抑制する事は出来た、が、う〜ん。。。変更ログ出力を完全に殺してしまっている気が('A`)

+++ C:/TracLight/plugins/svn/ticketchangeplugin/0.11/ticketchange/web_ui.py	日 11 22 02:16:50 2009
@@ -39,7 +39,7 @@
 
                 filter = Transformer("//div[@class='change']/div[@class='inlinebuttons']/input[@name='replyto']/@value")
                 return stream | filter.copy(buffer).end() \
-                              .select("//div[@class='change']/div[@class='inlinebuttons']/input[@value='Reply']") \
+                              .select("//div[@class='change']/div[@class='inlinebuttons']/input[@type='submit']") \
                               .after(insert_change_link)
         return stream
 
@@ -172,7 +172,7 @@
         old_author, old_comment = (row[0], row[1])
         cursor.execute("UPDATE ticket_change SET newvalue=%s WHERE ticket = %s AND time = %s AND field = 'comment'", (comment, id, time))
         db.commit()
-        self.env.log.info("Ticket #%d comment of '%s' by '%s' has been updated by '%s':\nold value: '%s'\n\nnew value: '%s'\n" \
-                        % (id, strftime('%A, %d %b %Y %H:%M:%S', localtime(time)), old_author, author, old_comment.replace('\r', ''), comment.replace('\r','')))
+        # self.env.log.info("Ticket #%d comment of '%s' by '%s' has been updated by '%s':\nold value: '%s'\n\nnew value: '%s'\n" \
+        #                 % (id, strftime('%A, %d %b %Y %H:%M:%S', localtime(time)), old_author, author, old_comment.replace('\r', ''), comment.replace('\r','')))

ちなみに2.4.0環境では以下のようなログ出力がtrac.logで確認できる。まぁ鯖管理者しか見られないので不要という判断もありかなぁ(でもTicketChangePluginへの要望チケット自体は本家にも出てますね)。

2009-11-22 02:40:42,905 Trac[web_ui] INFO: Ticket #1 comment of 'Sunday, 22 Nov 2009 02:39:14' by 'admin' has been updated by 'admin':
old value: 'aaa
bbb'

new value: 'aaa
bbb
ccc'