当前位置: 首页>>代码示例>>Python>>正文


Python exceptions.CompileException方法代码示例

本文整理汇总了Python中mako.exceptions.CompileException方法的典型用法代码示例。如果您正苦于以下问题:Python exceptions.CompileException方法的具体用法?Python exceptions.CompileException怎么用?Python exceptions.CompileException使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在mako.exceptions的用法示例。


在下文中一共展示了exceptions.CompileException方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: __init__

# 需要导入模块: from mako import exceptions [as 别名]
# 或者: from mako.exceptions import CompileException [as 别名]
def __init__(self, code, allow_kwargs=True, **exception_kwargs):
        self.code = code
        expr = pyparser.parse(code, "exec", **exception_kwargs)

        f = pyparser.ParseFunc(self, **exception_kwargs)
        f.visit(expr)
        if not hasattr(self, "funcname"):
            raise exceptions.CompileException(
                "Code '%s' is not a function declaration" % code,
                **exception_kwargs
            )
        if not allow_kwargs and self.kwargs:
            raise exceptions.CompileException(
                "'**%s' keyword argument not allowed here"
                % self.kwargnames[-1],
                **exception_kwargs
            ) 
开发者ID:remg427,项目名称:misp42splunk,代码行数:19,代码来源:ast.py

示例2: __call__

# 需要导入模块: from mako import exceptions [as 别名]
# 或者: from mako.exceptions import CompileException [as 别名]
def __call__(cls, keyword, attributes, **kwargs):
        if ":" in keyword:
            ns, defname = keyword.split(":")
            return type.__call__(
                CallNamespaceTag, ns, defname, attributes, **kwargs
            )

        try:
            cls = _TagMeta._classmap[keyword]
        except KeyError:
            raise exceptions.CompileException(
                "No such tag: '%s'" % keyword,
                source=kwargs["source"],
                lineno=kwargs["lineno"],
                pos=kwargs["pos"],
                filename=kwargs["filename"],
            )
        return type.__call__(cls, keyword, attributes, **kwargs) 
开发者ID:remg427,项目名称:misp42splunk,代码行数:20,代码来源:parsetree.py

示例3: __init__

# 需要导入模块: from mako import exceptions [as 别名]
# 或者: from mako.exceptions import CompileException [as 别名]
def __init__(self, keyword, attributes, **kwargs):
        super(NamespaceTag, self).__init__(
            keyword,
            attributes,
            ("file",),
            ("name", "inheritable", "import", "module"),
            (),
            **kwargs
        )

        self.name = attributes.get("name", "__anon_%s" % hex(abs(id(self))))
        if "name" not in attributes and "import" not in attributes:
            raise exceptions.CompileException(
                "'name' and/or 'import' attributes are required "
                "for <%namespace>",
                **self.exception_kwargs
            )
        if "file" in attributes and "module" in attributes:
            raise exceptions.CompileException(
                "<%namespace> may only have one of 'file' or 'module'",
                **self.exception_kwargs
            ) 
开发者ID:remg427,项目名称:misp42splunk,代码行数:24,代码来源:parsetree.py

示例4: __init__

# 需要导入模块: from mako import exceptions [as 别名]
# 或者: from mako.exceptions import CompileException [as 别名]
def __init__(self, code, **exception_kwargs):
        m = re.match(r'^(\w+)(?:\s+(.*?))?:\s*(#|$)', code.strip(), re.S)
        if not m:
            raise exceptions.CompileException(
                "Fragment '%s' is not a partial control statement" %
                code, **exception_kwargs)
        if m.group(3):
            code = code[:m.start(3)]
        (keyword, expr) = m.group(1, 2)
        if keyword in ['for', 'if', 'while']:
            code = code + "pass"
        elif keyword == 'try':
            code = code + "pass\nexcept:pass"
        elif keyword == 'elif' or keyword == 'else':
            code = "if False:pass\n" + code + "pass"
        elif keyword == 'except':
            code = "try:pass\n" + code + "pass"
        elif keyword == 'with':
            code = code + "pass"
        else:
            raise exceptions.CompileException(
                "Unsupported control keyword: '%s'" %
                keyword, **exception_kwargs)
        super(PythonFragment, self).__init__(code, **exception_kwargs) 
开发者ID:jpush,项目名称:jbox,代码行数:26,代码来源:ast.py

示例5: __call__

# 需要导入模块: from mako import exceptions [as 别名]
# 或者: from mako.exceptions import CompileException [as 别名]
def __call__(cls, keyword, attributes, **kwargs):
        if ":" in keyword:
            ns, defname = keyword.split(':')
            return type.__call__(CallNamespaceTag, ns, defname,
                                 attributes, **kwargs)

        try:
            cls = _TagMeta._classmap[keyword]
        except KeyError:
            raise exceptions.CompileException(
                "No such tag: '%s'" % keyword,
                source=kwargs['source'],
                lineno=kwargs['lineno'],
                pos=kwargs['pos'],
                filename=kwargs['filename']
            )
        return type.__call__(cls, keyword, attributes, **kwargs) 
开发者ID:jpush,项目名称:jbox,代码行数:19,代码来源:parsetree.py

示例6: __init__

# 需要导入模块: from mako import exceptions [as 别名]
# 或者: from mako.exceptions import CompileException [as 别名]
def __init__(self, keyword, attributes, **kwargs):
        super(NamespaceTag, self).__init__(
            keyword, attributes,
            ('file',),
            ('name', 'inheritable',
             'import', 'module'),
            (), **kwargs)

        self.name = attributes.get('name', '__anon_%s' % hex(abs(id(self))))
        if 'name' not in attributes and 'import' not in attributes:
            raise exceptions.CompileException(
                "'name' and/or 'import' attributes are required "
                "for <%namespace>",
                **self.exception_kwargs)
        if 'file' in attributes and 'module' in attributes:
            raise exceptions.CompileException(
                "<%namespace> may only have one of 'file' or 'module'",
                **self.exception_kwargs
            ) 
开发者ID:jpush,项目名称:jbox,代码行数:21,代码来源:parsetree.py

示例7: _check_name_exists

# 需要导入模块: from mako import exceptions [as 别名]
# 或者: from mako.exceptions import CompileException [as 别名]
def _check_name_exists(self, collection, node):
        existing = collection.get(node.funcname)
        collection[node.funcname] = node
        if (
            existing is not None
            and existing is not node
            and (node.is_block or existing.is_block)
        ):
            raise exceptions.CompileException(
                "%%def or %%block named '%s' already "
                "exists in this template." % node.funcname,
                **node.exception_kwargs
            ) 
开发者ID:remg427,项目名称:misp42splunk,代码行数:15,代码来源:codegen.py

示例8: _parse_attributes

# 需要导入模块: from mako import exceptions [as 别名]
# 或者: from mako.exceptions import CompileException [as 别名]
def _parse_attributes(self, expressions, nonexpressions):
        undeclared_identifiers = set()
        self.parsed_attributes = {}
        for key in self.attributes:
            if key in expressions:
                expr = []
                for x in re.compile(r"(\${.+?})", re.S).split(
                    self.attributes[key]
                ):
                    m = re.compile(r"^\${(.+?)}$", re.S).match(x)
                    if m:
                        code = ast.PythonCode(
                            m.group(1).rstrip(), **self.exception_kwargs
                        )
                        # we aren't discarding "declared_identifiers" here,
                        # which we do so that list comprehension-declared
                        # variables aren't counted.   As yet can't find a
                        # condition that requires it here.
                        undeclared_identifiers = undeclared_identifiers.union(
                            code.undeclared_identifiers
                        )
                        expr.append("(%s)" % m.group(1))
                    else:
                        if x:
                            expr.append(repr(x))
                self.parsed_attributes[key] = " + ".join(expr) or repr("")
            elif key in nonexpressions:
                if re.search(r"\${.+?}", self.attributes[key]):
                    raise exceptions.CompileException(
                        "Attibute '%s' in tag '%s' does not allow embedded "
                        "expressions" % (key, self.keyword),
                        **self.exception_kwargs
                    )
                self.parsed_attributes[key] = repr(self.attributes[key])
            else:
                raise exceptions.CompileException(
                    "Invalid attribute for tag '%s': '%s'"
                    % (self.keyword, key),
                    **self.exception_kwargs
                )
        self.expression_undeclared_identifiers = undeclared_identifiers 
开发者ID:remg427,项目名称:misp42splunk,代码行数:43,代码来源:parsetree.py

示例9: visit_ImportFrom

# 需要导入模块: from mako import exceptions [as 别名]
# 或者: from mako.exceptions import CompileException [as 别名]
def visit_ImportFrom(self, node):
        for name in node.names:
            if name.asname is not None:
                self._add_declared(name.asname)
            else:
                if name.name == "*":
                    raise exceptions.CompileException(
                        "'import *' is not supported, since all identifier "
                        "names must be explicitly declared.  Please use the "
                        "form 'from <modulename> import <name1>, <name2>, "
                        "...' instead.",
                        **self.exception_kwargs
                    )
                self._add_declared(name.name) 
开发者ID:remg427,项目名称:misp42splunk,代码行数:16,代码来源:pyparser.py

示例10: visitBlockTag

# 需要导入模块: from mako import exceptions [as 别名]
# 或者: from mako.exceptions import CompileException [as 别名]
def visitBlockTag(self, node):
        if node is not self.node and not node.is_anonymous:

            if isinstance(self.node, parsetree.DefTag):
                raise exceptions.CompileException(
                    "Named block '%s' not allowed inside of def '%s'"
                    % (node.name, self.node.name),
                    **node.exception_kwargs
                )
            elif isinstance(
                self.node, (parsetree.CallTag, parsetree.CallNamespaceTag)
            ):
                raise exceptions.CompileException(
                    "Named block '%s' not allowed inside of <%%call> tag"
                    % (node.name,),
                    **node.exception_kwargs
                )

        for ident in node.undeclared_identifiers():
            if ident != "context" and ident not in self.declared.union(
                self.locally_declared
            ):
                self.undeclared.add(ident)

        if not node.is_anonymous:
            self._check_name_exists(self.topleveldefs, node)
            self.undeclared.add(node.funcname)
        elif node is not self.node:
            self._check_name_exists(self.closuredefs, node)
        for ident in node.declared_identifiers():
            self.argument_declared.add(ident)
        for n in node.nodes:
            n.accept_visitor(self) 
开发者ID:remg427,项目名称:misp42splunk,代码行数:35,代码来源:codegen.py


注:本文中的mako.exceptions.CompileException方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。