首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Trac -获取wiki页面中特定存储库文件的最后提交日期。

Trac -获取wiki页面中特定存储库文件的最后提交日期。
EN

Stack Overflow用户
提问于 2011-01-05 21:36:57
回答 1查看 137关注 0票数 0

我用Trac来管理我的项目。有些人必须定期查看我的wiki页面,才能看到一个特殊文件中的变化。因此,我在我的维基页面上有一个链接。与此相关的是:

代码语言:javascript
复制
[source:MyRepository/trunk/subfolder/file.pdf@head The file to read]

我想要的是以下输出:

要读取的文件(最后一次介绍: 11/01/15,时间是上午08:52)

有什么办法在trac wiki中处理这个问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-01-05 23:11:47

您可能需要为此编写一个小插件,如下所示:

代码语言:javascript
复制
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或更高版本,错误处理是留给读者的可怕练习。)

将其放入名为source_link.py的文件文件中,放在Trac环境的plugins目录中。然后可以使用以下宏引用文件:

代码语言:javascript
复制
[[Source(MyRepository/trunk/subfolder/file.pdf)]]

或者如果你想要一个特定的标签:

代码语言:javascript
复制
[[Source(MyRepository/trunk/subfolder/file.pdf, label=The file to read)]]
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4609471

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档