+ def _macro_repl(self, word):
+ m = re.compile("<<([^\s\|]+)(?:\s*\|\s*([^\]]+)|)>>").match(word)
+ name = m.group(1)
+ param = m.group(2) or None
+
+ macro = globals().get('_macro_' + name)
+ if macro:
+ return macro(name, param)
+ else:
+ param_str = ''
+ if param:
+ param_str = param + ' '
+ return '<strong class="error">' + name + param_str + '</strong>'
+