def include_file(repo, path=None, rev=None, **kw): app = parse_repo(repo) if not app: return '[[include repo %s (not found)]]' % repo if not h.has_access(app.repo, 'read')(): return "[[include: you don't have a read permission for repo %s]]" % repo rev = app.repo.head if rev is None else rev try: file = app.repo.commit(rev).get_path(path) except Exception: return "[[include can't find file %s in revision %s]]" % (path, rev) text = '' if file.has_pypeline_view: text = h.render_any_markup(file.name, file.text, code_mode=True) elif file.has_html_view: text = g.highlight(file.text, filename=file.name) else: return "[[include can't display file %s in revision %s]]" % (path, rev) from allura.lib.widgets.macros import Include sb = Include() g.resource_manager.register(sb) return sb.display(text=text, attrs=kw)
def include(ref=None, **kw): from allura import model as M from allura.lib.widgets.macros import Include if ref is None: return '[-include-]' link = M.Shortlink.lookup(ref) if not link: return '[[include %s (not found)]]' % ref artifact = link.ref.artifact if artifact is None: return '[[include (artifact not found)]]' % ref included = request.environ.setdefault('allura.macro.included', set()) if artifact in included: return '[[include %s (already included)]' % ref else: included.add(artifact) sb = Include() g.resource_manager.register(sb) response = sb.display(artifact=artifact, attrs=kw) return response
def include(ref=None, repo=None, **kw): from allura import model as M from allura.lib.widgets.macros import Include if repo is not None: return include_file(repo, **kw) if ref is None: return '[-include-]' link = M.Shortlink.lookup(ref) if not link: return '[[include %s (not found)]]' % ref artifact = link.ref.artifact if artifact is None: return '[[include (artifact not found)]]' % ref if not h.has_access(artifact, 'read')(): return "[[include: you don't have a read permission for %s]]" % ref included = request.environ.setdefault('allura.macro.included', set()) if artifact in included: return '[[include %s (already included)]' % ref else: included.add(artifact) sb = Include() g.resource_manager.register(sb) response = sb.display(artifact=artifact, attrs=kw) return response