« 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


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

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