Esempio n. 1
0
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)
Esempio n. 2
0
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)
Esempio n. 3
0
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)
Esempio n. 4
0
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
Esempio n. 5
0
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)
Esempio n. 6
0
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)
Esempio n. 7
0
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)
Esempio n. 8
0
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)
Esempio n. 9
0
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))