python类ParseFatalException()的实例源码

latextools.py 文件源码 项目:leetcode 作者: thomasyimgit 项目源码 文件源码 阅读 21 收藏 0 点赞 0 评论 0
def latex_to_png_mpl(s, wrap):
    try:
        from matplotlib import mathtext
        from pyparsing import ParseFatalException
    except ImportError:
        return None

    # mpl mathtext doesn't support display math, force inline
    s = s.replace('$$', '$')
    if wrap:
        s = u'${0}$'.format(s)

    try:
        mt = mathtext.MathTextParser('bitmap')
        f = BytesIO()
        mt.to_png(f, s, fontsize=12)
        return f.getvalue()
    except (ValueError, RuntimeError, ParseFatalException):
        return None
pass_manager.py 文件源码 项目:monasca-analytics 作者: openstack 项目源码 文件源码 阅读 20 收藏 0 点赞 0 评论 0
def try_compute_type_table(banana):
    """
    Compute the type table for the provided banana string
    if possible. Does not throw any exception if it fails.
    :type banana: str
    :param banana: The string to parse and type check.
    """
    try:
        # Convert the grammar into an AST
        parser = grammar.banana_grammar()
        ast = parser.parse(banana)
        # Compute the type table for the given AST
        return typeck.typeck(ast)
    except exception.BananaException:
        return None
    except p.ParseSyntaxException:
        return None
    except p.ParseFatalException:
        return None
    except p.ParseException:
        return None
ast.py 文件源码 项目:monasca-analytics 作者: openstack 项目源码 文件源码 阅读 36 收藏 0 点赞 0 评论 0
def into_connection(ast_node):
    """
    Convert an ast node into a Connection node.
    :type ast_node: Connection | Ident
    :param ast_node: The ast node to convert.
    :rtype: Connection
    :return: Returns a Connection node
    """
    if isinstance(ast_node, Connection):
        return ast_node
    elif isinstance(ast_node, Ident):
        return Connection(
            ast_node.span,
            [ast_node],
            [ast_node]
        )
    else:
        raise p.ParseFatalException("Bug found!")
latextools.py 文件源码 项目:Repobot 作者: Desgard 项目源码 文件源码 阅读 20 收藏 0 点赞 0 评论 0
def latex_to_png_mpl(s, wrap):
    try:
        from matplotlib import mathtext
        from pyparsing import ParseFatalException
    except ImportError:
        return None

    # mpl mathtext doesn't support display math, force inline
    s = s.replace('$$', '$')
    if wrap:
        s = u'${0}$'.format(s)

    try:
        mt = mathtext.MathTextParser('bitmap')
        f = BytesIO()
        mt.to_png(f, s, fontsize=12)
        return f.getvalue()
    except (ValueError, RuntimeError, ParseFatalException):
        return None
latextools.py 文件源码 项目:blender 作者: gastrodia 项目源码 文件源码 阅读 20 收藏 0 点赞 0 评论 0
def latex_to_png_mpl(s, wrap):
    try:
        from matplotlib import mathtext
        from pyparsing import ParseFatalException
    except ImportError:
        return None

    # mpl mathtext doesn't support display math, force inline
    s = s.replace('$$', '$')
    if wrap:
        s = u'${0}$'.format(s)

    try:
        mt = mathtext.MathTextParser('bitmap')
        f = BytesIO()
        mt.to_png(f, s, fontsize=12)
        return f.getvalue()
    except (ValueError, RuntimeError, ParseFatalException):
        return None
latextools.py 文件源码 项目:yatta_reader 作者: sound88 项目源码 文件源码 阅读 23 收藏 0 点赞 0 评论 0
def latex_to_png_mpl(s, wrap):
    try:
        from matplotlib import mathtext
        from pyparsing import ParseFatalException
    except ImportError:
        return None

    # mpl mathtext doesn't support display math, force inline
    s = s.replace('$$', '$')
    if wrap:
        s = u'${0}$'.format(s)

    try:
        mt = mathtext.MathTextParser('bitmap')
        f = BytesIO()
        mt.to_png(f, s, fontsize=12)
        return f.getvalue()
    except (ValueError, RuntimeError, ParseFatalException):
        return None
pass_manager.py 文件源码 项目:monasca-analytics 作者: openstack 项目源码 文件源码 阅读 18 收藏 0 点赞 0 评论 0
def execute_banana_string(banana, driver=None, emitter=emit.PrintEmitter()):
    """
    Execute the provided banana string.
    It will run the parse phase, and the typechecker.
    :type banana: str
    :param banana: The string to parse and type check.
    :type driver: monasca_analytics.spark.driver.DriverExecutor | None
    :param driver: Driver that will manage the created
        components and connect them together.
    :type emitter: emit.Emitter
    :param emitter: Emitter for reporting errors/warning.
    """
    try:
        # Convert the grammar into an AST
        parser = grammar.banana_grammar(emitter)
        ast = parser.parse(banana)
        # Compute the type table for the given AST
        type_table = typeck.typeck(ast)
        # Remove from the tree path that are "dead"
        deadpathck.deadpathck(ast, type_table, emitter)
        # Check that there's at least one path to be executed
        deadpathck.contains_at_least_one_path_to_a_sink(ast, type_table)
        # Evaluate the script
        if driver is not None:
            ev.eval_ast(ast, type_table, driver)
    except exception.BananaException as err:
        emitter.emit_error(err.get_span(), str(err))
    except p.ParseSyntaxException as err:
        emitter.emit_error(span_util.from_pyparsing_exception(err), err.msg)
    except p.ParseFatalException as err:
        emitter.emit_error(span_util.from_pyparsing_exception(err), err.msg)
    except p.ParseException as err:
        emitter.emit_error(span_util.from_pyparsing_exception(err), err.msg)
ast.py 文件源码 项目:monasca-analytics 作者: openstack 项目源码 文件源码 阅读 30 收藏 0 点赞 0 评论 0
def __init__(self, span, tokens):
        super(JsonObj, self).__init__(span)
        self.props = {}
        last_prop = None
        if len(tokens) > 0:
            for toks in tokens:
                for tok in toks:
                    if isinstance(tok, DotPath):
                        if last_prop is None:
                            last_prop = tok
                        else:
                            self._set_new_prop(last_prop, tok)
                            last_prop = None
                    elif isinstance(tok, StringLit):
                        if last_prop is None:
                            last_prop = tok
                        else:
                            self._set_new_prop(last_prop, tok)
                            last_prop = None
                    elif isinstance(tok, list):
                        if last_prop is None:
                            raise p.ParseFatalException(
                                "Bug Found in JsonObj!"
                            )
                        self._set_new_prop(
                            last_prop,
                            JsonObj.dictify_array(tok)
                        )
                        last_prop = None
                    else:
                        if last_prop is None:
                            raise p.ParseFatalException(
                                "Bug Found in JsonObj!"
                            )
                        self._set_new_prop(last_prop, tok)
                        last_prop = None
ast.py 文件源码 项目:monasca-analytics 作者: openstack 项目源码 文件源码 阅读 31 收藏 0 点赞 0 评论 0
def _build_connection_cache(self):
        """
        Build a cache of connections keyed by where they start from.
        """
        for ident_from, ident_to in self.connections:
            if ident_from.val not in self.connections_cache:
                self.connections_cache[ident_from.val] = []
            if ident_to.val not in self.connections_cache:
                self.connections_cache[ident_to.val] = []
            self.connections_cache[ident_from.val].append(ident_to.val)
        # Sanity check
        for _, vals in self.connections_cache:
            if len(set(vals)) != len(vals):
                raise p.ParseFatalException("Bug found in Connection!!")


问题


面经


文章

微信
公众号

扫码关注公众号