« VMwarePlayer用の仮想HDD | Main | チケット変更履歴の文字色を変えるプラグインその2 »

2008.10.05

チケット変更履歴の文字色を変えるプラグイン

ITemplateStreamFilterの練習がてら(?)、何となく作ってみました。テンプレートのhtmlファイルに対して処理を行う場所をXPathで指定するようになってるんですね。

単純に目的となる要素に対して属性を追加するだけならattrを記述すればいいんですね。他にも、前後にタグを追加(新たなタグで囲む)とか、いろいろなことができるような感じです。

# -*- coding: utf-8 -*-

from trac.core import *
from genshi.filters.transform import Transformer
from trac.web.api import ITemplateStreamFilter
from genshi.builder import tag

class TicketChangeColor(Component):
    implements(ITemplateStreamFilter)

    # ITemplateStreamFilter methods
    def filter_stream(self, req, method, filename, stream, formdata):
        if (filename == 'ticket.html'):
            xpath = '//ul[contains(@class, "changes")]'
            stream |= Transformer(xpath).attr('style', 'color: #cccccc')
        return stream


|

« VMwarePlayer用の仮想HDD | Main | チケット変更履歴の文字色を変えるプラグインその2 »

Subversion・Trac・etc.」カテゴリの記事

Comments

Post a comment



(Not displayed with comment.)


Comments are moderated, and will not appear on this weblog until the author has approved them.



TrackBack

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/3959/42684674

Listed below are links to weblogs that reference チケット変更履歴の文字色を変えるプラグイン:

« VMwarePlayer用の仮想HDD | Main | チケット変更履歴の文字色を変えるプラグインその2 »