def parse_macro(name, arg_string, body, isblock, environ): macro = MACROS.get(name, None) if not macro: return args, kwargs = creoleparser.parse_args(arg_string) return macro(name, arg_string, body, isblock, environ, *args, **kwargs)
def dispatcher(name, arg_string, body, isblock, environ): if name in environ["macros"]: macro = Macro(name, arg_string, body, isblock) args, kwargs = parse_args(arg_string) try: return environ["macros"][name](macro, environ, *args, **kwargs) except Exception, e: return "ERROR: Error while executing macro %r (%s)" % (name, e)
def macro_func(name, arg_string, body, isblock, environ): if name in environ['wiki.macros']: macro = Macro(name, arg_string, body, isblock) pos, kw = parse_args(arg_string) try: value = environ['wiki.macros'][name](macro, environ, *pos, **kw) except TypeError: value = None return value else: return None
def macro_func(macro_name, arg_string, body, is_block, environ): """Looks up an extension as babel macro. The first time the macros are looked up the extensions are converted into macros. """ global macros_set_up args, kwargs = parse_args(arg_string) if macro_name == 'intro' and body: return intro_tag(body) if not macros_set_up: app = get_application() for extension in app.markup_extensions: macros[extension.name] = make_macro(extension) macros_set_up = True if macro_name in macros: return macros[macro_name](body, args, kwargs, is_block, environ)
def macro_func(macro_name, arg_string, body, is_block, environ): """Looks up an extension as babel macro. The first time the macros are looked up the extensions are converted into macros. """ global macros_set_up args, kwargs = parse_args(arg_string) if macro_name == "intro" and body: return intro_tag(body) if not macros_set_up: app = get_application() for extension in app.markup_extensions: macros[extension.name] = make_macro(extension) macros_set_up = True if macro_name in macros: return macros[macro_name](body, args, kwargs, is_block, environ)
def macro_func(macro_name, arg_string, body, isblock, environ): pos, kw = parse_args(arg_string) if macro_name == 'intro' and isblock and body: return intro_tag(body, *pos, **kw)
def pygments_macro(macro_name, arg_string, body, isblock, environ): if macro_name == 'mycode': args, kwargs = creoleparser.parse_args(arg_string) lang = kwargs.get('lang', None) return highlight(body, lang)
def macro_func(macro_name, arg_string, body, isblock, environ): if macro_name in macros: return Markup(macros[macro_name](parse_args(arg_string), body, isblock))