Switch to unified view

a/Allura/allura/lib/macro.py b/Allura/allura/lib/macro.py
...
...
61
61
62
@macro
62
@macro
63
def include(ref=None, **kw):
63
def include(ref=None, **kw):
64
    from allura import model as M
64
    from allura import model as M
65
    from allura.lib.widgets.macros import Include
65
    from allura.lib.widgets.macros import Include
66
    if ref is None: return '[-include-]'
66
    if ref is None:
67
        return '[-include-]'
67
    link = M.Shortlink.lookup(ref)
68
    link = M.Shortlink.lookup(ref)
68
    if not link: return '[[include %s]]' % ref
69
    if not link:
70
        return '[[include %s (not found)]]' % ref
69
    artifact = link.ref.artifact
71
    artifact = link.ref.artifact
70
    if artifact is None: return '[[include %s]]' % ref
72
    if artifact is None:
73
        return '[[include (artifact not found)]]' % ref
71
    included = request.environ.setdefault('allura.macro.included', set())
74
    included = request.environ.setdefault('allura.macro.included', set())
72
    if artifact in included:
75
    if artifact in included:
73
        return '[-...-]'
76
        return '[[include %s (already included)]' % ref
74
    else:
77
    else:
75
        included.add(artifact)
78
        included.add(artifact)
76
    sb = Include()
79
    sb = Include()
77
    g.resource_manager.register(sb)
80
    g.resource_manager.register(sb)
78
    response = sb.display(artifact=artifact, attrs=kw)
81
    response = sb.display(artifact=artifact, attrs=kw)
79
    return response
82
    return response
80
    
83
81
@macro
84
@macro
82
def img(src=None, **kw):
85
def img(src=None, **kw):
83
    attrs = ('%s="%s"' % t for t in kw.iteritems())
86
    attrs = ('%s="%s"' % t for t in kw.iteritems())
84
    included = request.environ.setdefault('allura.macro.att_embedded', set())
87
    included = request.environ.setdefault('allura.macro.att_embedded', set())
85
    included.add(src)
88
    included.add(src)