示例#1
0
文件: parser.py 项目: wvega/sp-unal
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)
示例#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)
示例#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)
示例#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
示例#5
0
文件: __init__.py 项目: peicheng/zine
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)
示例#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)
示例#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)
示例#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)
示例#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))