annotate data/plugin/macro/span.py @ 533:1f9926e7f5b5

span macro: add (hopefully safe) style support, let through only properties on whitelist
author Thomas Waldmann <tw AT waldmann-edv DOT de>
date Tue, 22 Jun 2010 16:49:38 +0200
parents 942f9b55773e
children 7bcfe0b3823a
rev   line source
531
bd8e88710547 span macro - see MoinMoin:MacroMarket/span
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
diff changeset
1 # -*- coding: iso-8859-1 -*-
bd8e88710547 span macro - see MoinMoin:MacroMarket/span
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
diff changeset
2 """
bd8e88710547 span macro - see MoinMoin:MacroMarket/span
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
diff changeset
3 MoinMoin - span generating macro
bd8e88710547 span macro - see MoinMoin:MacroMarket/span
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
diff changeset
4
532
942f9b55773e span macro: remove support for align attr as it is deprecated
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents: 531
diff changeset
5 Supported attrs: css_class, id, lang, dir, title
533
1f9926e7f5b5 span macro: add (hopefully safe) style support, let through only properties on whitelist
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents: 532
diff changeset
6
1f9926e7f5b5 span macro: add (hopefully safe) style support, let through only properties on whitelist
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents: 532
diff changeset
7 Partially supported attrs: style - only safe stuff on whitelist (with
1f9926e7f5b5 span macro: add (hopefully safe) style support, let through only properties on whitelist
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents: 532
diff changeset
8 SUPPORT_STYLE_ATTR = True), other stuff
1f9926e7f5b5 span macro: add (hopefully safe) style support, let through only properties on whitelist
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents: 532
diff changeset
9 can contain javascript, XSS danger!
1f9926e7f5b5 span macro: add (hopefully safe) style support, let through only properties on whitelist
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents: 532
diff changeset
10 If you don't need style, consider using
1f9926e7f5b5 span macro: add (hopefully safe) style support, let through only properties on whitelist
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents: 532
diff changeset
11 SUPPORT_STYLE_ATTR = False for better safety.
531
bd8e88710547 span macro - see MoinMoin:MacroMarket/span
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
diff changeset
12
533
1f9926e7f5b5 span macro: add (hopefully safe) style support, let through only properties on whitelist
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents: 532
diff changeset
13 Unsupported attrs: event attrs - unsafe, can contain javascript, XSS danger
532
942f9b55773e span macro: remove support for align attr as it is deprecated
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents: 531
diff changeset
14 align - deprecated by the W3C (use css classes)
531
bd8e88710547 span macro - see MoinMoin:MacroMarket/span
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
diff changeset
15
bd8e88710547 span macro - see MoinMoin:MacroMarket/span
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
diff changeset
16 Usage:
bd8e88710547 span macro - see MoinMoin:MacroMarket/span
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
diff changeset
17 <<span(red)>>some text contained in a span with css class red<<span>>
bd8e88710547 span macro - see MoinMoin:MacroMarket/span
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
diff changeset
18 <<span(css_class=red)>>same as above<<span>>
bd8e88710547 span macro - see MoinMoin:MacroMarket/span
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
diff changeset
19 <<span(id=foobar)>>some text in a span with id foobar<<span>>
bd8e88710547 span macro - see MoinMoin:MacroMarket/span
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
diff changeset
20 <<span(title="read this!")>>some text with a mouseover title<<span>>
533
1f9926e7f5b5 span macro: add (hopefully safe) style support, let through only properties on whitelist
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents: 532
diff changeset
21 <<span(style="color: red; font: 20pt sans-serif;")>>20pt sans-serif red<<span>>
531
bd8e88710547 span macro - see MoinMoin:MacroMarket/span
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
diff changeset
22
bd8e88710547 span macro - see MoinMoin:MacroMarket/span
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
diff changeset
23 @copyright: 2010 MoinMoin:ThomasWaldmann
bd8e88710547 span macro - see MoinMoin:MacroMarket/span
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
diff changeset
24 @license: GNU GPL, see COPYING for details.
bd8e88710547 span macro - see MoinMoin:MacroMarket/span
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
diff changeset
25 """
bd8e88710547 span macro - see MoinMoin:MacroMarket/span
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
diff changeset
26
533
1f9926e7f5b5 span macro: add (hopefully safe) style support, let through only properties on whitelist
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents: 532
diff changeset
27 SUPPORT_STYLE_ATTR = True # True should be safe, False is safer :)
1f9926e7f5b5 span macro: add (hopefully safe) style support, let through only properties on whitelist
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents: 532
diff changeset
28
531
bd8e88710547 span macro - see MoinMoin:MacroMarket/span
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
diff changeset
29 Dependencies = []
bd8e88710547 span macro - see MoinMoin:MacroMarket/span
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
diff changeset
30
bd8e88710547 span macro - see MoinMoin:MacroMarket/span
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
diff changeset
31 from MoinMoin.wikiutil import required_arg
bd8e88710547 span macro - see MoinMoin:MacroMarket/span
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
diff changeset
32
533
1f9926e7f5b5 span macro: add (hopefully safe) style support, let through only properties on whitelist
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents: 532
diff changeset
33 def make_style_safe(style):
1f9926e7f5b5 span macro: add (hopefully safe) style support, let through only properties on whitelist
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents: 532
diff changeset
34 """ make html 'style' attribute value safe """
1f9926e7f5b5 span macro: add (hopefully safe) style support, let through only properties on whitelist
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents: 532
diff changeset
35 # whitelist of safe style attributes, taken from:
1f9926e7f5b5 span macro: add (hopefully safe) style support, let through only properties on whitelist
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents: 532
diff changeset
36 # http://validator.w3.org/feed/docs/warning/DangerousStyleAttr.html
1f9926e7f5b5 span macro: add (hopefully safe) style support, let through only properties on whitelist
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents: 532
diff changeset
37 whitelist = ("azimuth,background,background-color,border,border-bottom,"
1f9926e7f5b5 span macro: add (hopefully safe) style support, let through only properties on whitelist
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents: 532
diff changeset
38 "border-bottom-color,border-bottom-style,border-bottom-width,"
1f9926e7f5b5 span macro: add (hopefully safe) style support, let through only properties on whitelist
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents: 532
diff changeset
39 "border-collapse,border-color,border-left,border-left-color,"
1f9926e7f5b5 span macro: add (hopefully safe) style support, let through only properties on whitelist
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents: 532
diff changeset
40 "border-left-style,border-left-width,border-right,border-right-color,"
1f9926e7f5b5 span macro: add (hopefully safe) style support, let through only properties on whitelist
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents: 532
diff changeset
41 "border-right-style,border-right-width,border-spacing,border-style,"
1f9926e7f5b5 span macro: add (hopefully safe) style support, let through only properties on whitelist
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents: 532
diff changeset
42 "border-top,border-top-color,border-top-style,border-top-width,"
1f9926e7f5b5 span macro: add (hopefully safe) style support, let through only properties on whitelist
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents: 532
diff changeset
43 "border-width,clear,color,cursor,direction,display,elevation,"
1f9926e7f5b5 span macro: add (hopefully safe) style support, let through only properties on whitelist
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents: 532
diff changeset
44 "float,font,font-family,font-size,font-style,font-variant,"
1f9926e7f5b5 span macro: add (hopefully safe) style support, let through only properties on whitelist
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents: 532
diff changeset
45 "font-weight,height,letter-spacing,line-height,margin,"
1f9926e7f5b5 span macro: add (hopefully safe) style support, let through only properties on whitelist
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents: 532
diff changeset
46 "margin-bottom,margin-left,margin-right,margin-top,overflow,"
1f9926e7f5b5 span macro: add (hopefully safe) style support, let through only properties on whitelist
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents: 532
diff changeset
47 "padding,padding-bottom,padding-left,padding-right,padding-top,"
1f9926e7f5b5 span macro: add (hopefully safe) style support, let through only properties on whitelist
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents: 532
diff changeset
48 "pause,pause-after,pause-before,pitch,pitch-range,richness,"
1f9926e7f5b5 span macro: add (hopefully safe) style support, let through only properties on whitelist
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents: 532
diff changeset
49 "speak,speak-header,speak-numeral,speak-punctuation,speech-rate,"
1f9926e7f5b5 span macro: add (hopefully safe) style support, let through only properties on whitelist
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents: 532
diff changeset
50 "stress,text-align,text-decoration,text-indent,unicode-bidi,"
1f9926e7f5b5 span macro: add (hopefully safe) style support, let through only properties on whitelist
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents: 532
diff changeset
51 "vertical-align,voice-family,volume,white-space,width").split(',')
1f9926e7f5b5 span macro: add (hopefully safe) style support, let through only properties on whitelist
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents: 532
diff changeset
52
1f9926e7f5b5 span macro: add (hopefully safe) style support, let through only properties on whitelist
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents: 532
diff changeset
53 def style_split(style):
1f9926e7f5b5 span macro: add (hopefully safe) style support, let through only properties on whitelist
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents: 532
diff changeset
54 """
1f9926e7f5b5 span macro: add (hopefully safe) style support, let through only properties on whitelist
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents: 532
diff changeset
55 split style into a list of declarations,
1f9926e7f5b5 span macro: add (hopefully safe) style support, let through only properties on whitelist
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents: 532
diff changeset
56 split the declarations into property, value tuples,
1f9926e7f5b5 span macro: add (hopefully safe) style support, let through only properties on whitelist
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents: 532
diff changeset
57 remove all surrounding whitespace
1f9926e7f5b5 span macro: add (hopefully safe) style support, let through only properties on whitelist
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents: 532
diff changeset
58 """
1f9926e7f5b5 span macro: add (hopefully safe) style support, let through only properties on whitelist
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents: 532
diff changeset
59 decls = [decl.split(u':', 1) for decl in style.split(u';')]
1f9926e7f5b5 span macro: add (hopefully safe) style support, let through only properties on whitelist
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents: 532
diff changeset
60 # remove spaces from propery and value
1f9926e7f5b5 span macro: add (hopefully safe) style support, let through only properties on whitelist
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents: 532
diff changeset
61 result = []
1f9926e7f5b5 span macro: add (hopefully safe) style support, let through only properties on whitelist
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents: 532
diff changeset
62 for decl in decls:
1f9926e7f5b5 span macro: add (hopefully safe) style support, let through only properties on whitelist
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents: 532
diff changeset
63 if len(decl) == 2:
1f9926e7f5b5 span macro: add (hopefully safe) style support, let through only properties on whitelist
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents: 532
diff changeset
64 result.append((decl[0].strip(), decl[1].strip()))
1f9926e7f5b5 span macro: add (hopefully safe) style support, let through only properties on whitelist
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents: 532
diff changeset
65 return result
1f9926e7f5b5 span macro: add (hopefully safe) style support, let through only properties on whitelist
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents: 532
diff changeset
66
1f9926e7f5b5 span macro: add (hopefully safe) style support, let through only properties on whitelist
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents: 532
diff changeset
67 def style_join(decls):
1f9926e7f5b5 span macro: add (hopefully safe) style support, let through only properties on whitelist
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents: 532
diff changeset
68 """
1f9926e7f5b5 span macro: add (hopefully safe) style support, let through only properties on whitelist
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents: 532
diff changeset
69 join a list of prop, value tuples into a style declaration
1f9926e7f5b5 span macro: add (hopefully safe) style support, let through only properties on whitelist
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents: 532
diff changeset
70 """
1f9926e7f5b5 span macro: add (hopefully safe) style support, let through only properties on whitelist
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents: 532
diff changeset
71 decls = [u'%s: %s' % (prop, val) for prop, val in decls]
1f9926e7f5b5 span macro: add (hopefully safe) style support, let through only properties on whitelist
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents: 532
diff changeset
72 style = u'; '.join(decls)
1f9926e7f5b5 span macro: add (hopefully safe) style support, let through only properties on whitelist
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents: 532
diff changeset
73 return style
1f9926e7f5b5 span macro: add (hopefully safe) style support, let through only properties on whitelist
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents: 532
diff changeset
74
1f9926e7f5b5 span macro: add (hopefully safe) style support, let through only properties on whitelist
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents: 532
diff changeset
75 def decl_filter(decls):
1f9926e7f5b5 span macro: add (hopefully safe) style support, let through only properties on whitelist
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents: 532
diff changeset
76 """
1f9926e7f5b5 span macro: add (hopefully safe) style support, let through only properties on whitelist
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents: 532
diff changeset
77 filter a list of prop, value tuples, only let whitelisted props through
1f9926e7f5b5 span macro: add (hopefully safe) style support, let through only properties on whitelist
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents: 532
diff changeset
78 """
1f9926e7f5b5 span macro: add (hopefully safe) style support, let through only properties on whitelist
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents: 532
diff changeset
79 return [(prop, val) for prop, val in decls if prop in whitelist]
1f9926e7f5b5 span macro: add (hopefully safe) style support, let through only properties on whitelist
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents: 532
diff changeset
80
1f9926e7f5b5 span macro: add (hopefully safe) style support, let through only properties on whitelist
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents: 532
diff changeset
81 decls = style_split(style)
1f9926e7f5b5 span macro: add (hopefully safe) style support, let through only properties on whitelist
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents: 532
diff changeset
82 decls = decl_filter(decls)
1f9926e7f5b5 span macro: add (hopefully safe) style support, let through only properties on whitelist
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents: 532
diff changeset
83 style = style_join(decls)
1f9926e7f5b5 span macro: add (hopefully safe) style support, let through only properties on whitelist
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents: 532
diff changeset
84 return style
1f9926e7f5b5 span macro: add (hopefully safe) style support, let through only properties on whitelist
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents: 532
diff changeset
85
1f9926e7f5b5 span macro: add (hopefully safe) style support, let through only properties on whitelist
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents: 532
diff changeset
86
531
bd8e88710547 span macro - see MoinMoin:MacroMarket/span
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
diff changeset
87 def macro_span(macro,
bd8e88710547 span macro - see MoinMoin:MacroMarket/span
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
diff changeset
88 # first the stuff we can directly give to span formatter:
bd8e88710547 span macro - see MoinMoin:MacroMarket/span
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
diff changeset
89 css_class=u'',
bd8e88710547 span macro - see MoinMoin:MacroMarket/span
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
diff changeset
90 id=u'',
bd8e88710547 span macro - see MoinMoin:MacroMarket/span
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
diff changeset
91 lang=u'',
bd8e88710547 span macro - see MoinMoin:MacroMarket/span
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
diff changeset
92 dir=u'',
bd8e88710547 span macro - see MoinMoin:MacroMarket/span
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
diff changeset
93 title=u'',
532
942f9b55773e span macro: remove support for align attr as it is deprecated
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents: 531
diff changeset
94 # deprecated by W3C:
942f9b55773e span macro: remove support for align attr as it is deprecated
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents: 531
diff changeset
95 #align=u'',
533
1f9926e7f5b5 span macro: add (hopefully safe) style support, let through only properties on whitelist
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents: 532
diff changeset
96 style=u'',
531
bd8e88710547 span macro - see MoinMoin:MacroMarket/span
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
diff changeset
97 ):
bd8e88710547 span macro - see MoinMoin:MacroMarket/span
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
diff changeset
98 attrs = {}
bd8e88710547 span macro - see MoinMoin:MacroMarket/span
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
diff changeset
99 for key, value in [
bd8e88710547 span macro - see MoinMoin:MacroMarket/span
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
diff changeset
100 ('css_class', css_class), ('id', id),
bd8e88710547 span macro - see MoinMoin:MacroMarket/span
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
diff changeset
101 ('lang', lang), ('dir', dir),
532
942f9b55773e span macro: remove support for align attr as it is deprecated
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents: 531
diff changeset
102 ('title', title),
942f9b55773e span macro: remove support for align attr as it is deprecated
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents: 531
diff changeset
103 #('align', align),
531
bd8e88710547 span macro - see MoinMoin:MacroMarket/span
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
diff changeset
104 ]:
bd8e88710547 span macro - see MoinMoin:MacroMarket/span
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
diff changeset
105 if value:
bd8e88710547 span macro - see MoinMoin:MacroMarket/span
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
diff changeset
106 attrs[key] = value
533
1f9926e7f5b5 span macro: add (hopefully safe) style support, let through only properties on whitelist
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents: 532
diff changeset
107
1f9926e7f5b5 span macro: add (hopefully safe) style support, let through only properties on whitelist
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents: 532
diff changeset
108 if SUPPORT_STYLE_ATTR:
1f9926e7f5b5 span macro: add (hopefully safe) style support, let through only properties on whitelist
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents: 532
diff changeset
109 if style:
1f9926e7f5b5 span macro: add (hopefully safe) style support, let through only properties on whitelist
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents: 532
diff changeset
110 attrs['style'] = make_style_safe(style)
1f9926e7f5b5 span macro: add (hopefully safe) style support, let through only properties on whitelist
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents: 532
diff changeset
111
531
bd8e88710547 span macro - see MoinMoin:MacroMarket/span
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
diff changeset
112 span = macro.formatter.span
bd8e88710547 span macro - see MoinMoin:MacroMarket/span
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
diff changeset
113 if attrs:
bd8e88710547 span macro - see MoinMoin:MacroMarket/span
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
diff changeset
114 return span(True, **attrs)
bd8e88710547 span macro - see MoinMoin:MacroMarket/span
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
diff changeset
115 else:
bd8e88710547 span macro - see MoinMoin:MacroMarket/span
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
diff changeset
116 return span(False)
bd8e88710547 span macro - see MoinMoin:MacroMarket/span
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
diff changeset
117