|
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)
|