trac の timeline からあるユーザーのものだけ抜き出す。

python まるっきりやったことないので、これでいいのかさっぱりどうにかわかりませんが。 yum で 適当にインストールした場合に /usr/lib/python2.4/site-packages/trac 以下に置かれている、 Timeline.py というファイルがありますけども、これのだいたい 160 行目あたりにある

         idx  = 0
         for kind, href, title, date, author, message in events:

というコードを

        user = req.args.get('user')
        idx  = 0
        for kind, href, title, date, author, message in events: 

            if user is not None:
                user = to_unicode(user) 
                if author != user:
                    continue

というふうに改変して、timeline にアクセスするときに、user=ユーザーの名前 というパラメータを加えればその人の分だけを抜き出すことができます。RSS もformatというパラメータに rss という値が指定されていたらテンプレートが変わってるだけの感じなのでこれで大丈夫。 匿名さんによるコミットは考慮してないので上のようなコードになっていますが、その辺考えるとめどさがアップしますね、ぐったりします。まぁでも、ソース読むのに時間がかかっただけで、実際やった改変はアホかというくらい単純ですけど。

RevisionLog?のほうを扱ってるファイルもだいたい検討ついてるので、読めば改変はできそうだけど Yappo さんがやってるようなこと をやるんだったらちょっとめんどいことしないといけなさそうなので、本体改変じゃなくて、ちゃんとプラグインを作ったほうがいいような気がする。

そうなると python の勉強しないといけませんね。 python はもうなんかいいよ。Perl が書きたいです、Perl が。 たいしたものは書けないけど。 PHP はファイルを .php で保存したらなんかやる気が抜けるという恐ろしい固定観念。 えり好みしてるから成長しないんだろうな。 でも一つの言語もロクにできないくせにあれこれ手を出してもね。 freenode の #coderepos チャンネルは理解できないときだらけですけど、ホントに勉強になります。

けっきょくどうすればいいんだろ。どうするのがいいのかわかればこれほど簡単なこともないんですけど、人生的に。それがわかるくらいなら誰も悩みはしませんね。

Trackback

Trackback Count
0
Trackback URL
http://mk-colors.org/syscon/mt-tb.cgi/3

Comment