2011-01-05 3 views
0

私は自分のプロジェクトを管理するためにTracを使用しています。いくつかの人は特別なファイルの変更を見るために私のwikiページに定期的に見ていなければなりません。したがって私はウィキペディアにリンクを張っています。何かリンクこれは:Trac - wikiページの特定のリポジトリファイルの最終コミット日を取得します。


読み込むファイル(最後のコミット:11/01/15午前8時52分午前)

[source:MyRepository/trunk/subfolder/[email protected] The file to read] 

私は何がしたいことは、次の出力であります


trac wikiでそれを管理する方法はありますか?

答えて

2

あなたはおそらく、次のようなものをそのための小さなプラグインを記述する必要があります。

from genshi.builder import tag 

from trac.util.datefmt import format_datetime 
from trac.util.translation import _ 
from trac.versioncontrol.api import RepositoryManager 
from trac.wiki.api import parse_args 
from trac.wiki.macros import WikiMacroBase 


class SourceMacro(WikiMacroBase): 
    def expand_macro(self, formatter, name, content): 
     args, kwargs = parse_args(content) 
     path = args[0] 
     label = kwargs.get('label', path) 
     rm = RepositoryManager(self.env) 
     reponame, repos, path = rm.get_repository_by_path(path) 
     node = repos.get_node(path) 
     href = formatter.href.browser(reponame or None, path) 
     return tag(tag.a(label, href=href), 
        _(' (last committed: %(date)s)', 
        date=format_datetime(node.last_modified))) 

(後のTrac 0.12の場合は、エラー処理が読者に恐ろしいの練習として残して。)

Trac環境のpluginsディレクトリにあるsource_link.pyという名前のファイルファイルに置きます。その後、次のマクロを使用してファイルを参照することができます。

[[Source(MyRepository/trunk/subfolder/file.pdf)]] 

たり、特定のラベルたい場合:

[[Source(MyRepository/trunk/subfolder/file.pdf, label=The file to read)]] 
+0

をどのようにコードブロックがPythonコードとしてレンダリングする必要があることを指定するのですか? –

+0

WOW!速い反応に感謝します...私はそれを試み、報告します。 – derroman

+0

うん!できます!ありがとうございました! – derroman

関連する問題