示例#1
0
文件: wiki.py 项目: pads/tank
def get_backlinks(environ, tiddler):
    """
    Extract the current backlinks for this tiddler.
    """
    from tiddlywebplugins.links.linksmanager import LinksManager
    store = environ['tiddlyweb.store']
    usersign = environ['tiddlyweb.usersign']

    links_manager = LinksManager(environ)
    links = links_manager.read_backlinks(tiddler)
    back_tiddlers = []

    def _is_readable(tiddler):
        try:
            bag = store.get(Bag(tiddler.bag))
            bag.policy.allows(usersign, 'read')
            return True
        except (NoBagError, PermissionsError):
            return False

    for link in links:
        container, title = link.split(':', 1)
        tiddler = Tiddler(title, container)
        if _is_readable(tiddler):
            back_tiddlers.append(tiddler)

    return back_tiddlers
示例#2
0
def get_backlinks(environ, tiddler):
    """
    Extract the current backlinks for this tiddler.
    """
    store = environ['tiddlyweb.store']
    usersign = environ['tiddlyweb.usersign']

    links_manager = LinksManager(environ)
    links = links_manager.read_backlinks(tiddler)
    back_tiddlers = []

    for link in links:
        container, title = link.split(':', 1)
        tiddler = Tiddler(title, container)
        if _is_readable(store, usersign, tiddler):
            back_tiddlers.append(tiddler)

    return back_tiddlers