Trac 0.10のTimelineRSSに対応者を表示するカスタマイズ

以前に書いた
Tracの複数プロジェクトの管理って皆さんどうしてます? - T氏の(非)日常記
を使って、TracのTimelineのRSSを集約することで運用していたら、RSSで複数プロジェクトを横断してイベントが見えるのはいいのだけど、そのイベントは実際のところ誰が行ったの?ということが、ぱっと見でわからないよね、という不満が出てきたんですよ。


で、
python初心者ですが、何とかがんばって、出るように手を入れてみよう。
のコーナーです。


まず、Timelineの処理をしている箇所をソースコードから探しました。

  • /usr/lib/python2.4/site-packages/trac/Timeline.py
     162         idx = 0
     163         for kind, href, title, date, author, message in events:
     164             event = {'kind': kind, 'title': title, 'href': href,
     165                      'author': author or 'anonymous',
     166                      'date': format_date(date),
     167                      'time': format_time(date, '%H:%M'),
     168                      'dateuid': int(date),
     169                      'message': message}

event.authorが使えそう。(試してみたら使えた)


RSSに出力するようにいぢる。

  • /usr/share/trac/templates/timeline_rss.cs

31行目を編集

 29     <guid isPermaLink="false"><?cs var:event.href ?>/<?cs 
 30      var:event.dateuid ?></guid>
 31     <description>&lt;p&gt;対応者:<?cs var:event.author ?>&lt;/p&gt;<?cs var:event.message ?></description>
 32     <category><?cs var:event.kind ?></category>
 33    </item><?cs
 34   /each ?>

これで、誰が対応しているかが一目瞭然です。