U
    q±Ëhd  ã                   @  sz   d dl mZ d dlZd dlm  mZ G dd„ deƒZdddœdd	„Z	dd
dœdd„Z
dddœdd„Zdddœdd„ZdS )é    )ÚannotationsNc                   @  s   e Zd ZdS )Ú
ParseErrorN)Ú__name__Ú
__module__Ú__qualname__© r   r   ú//tmp/pip-unpacked-wheel-xnis5xre/onnx/parser.pyr   
   s   r   Ústrzonnx.ModelProto)Ú
model_textÚreturnc                 C  s*   t  | ¡\}}}|rt |¡S t|ƒ‚dS )zˆParse a string to build a ModelProto.

    Arguments:
        model_text (string): formatted string
    Returns:
        ModelProto
    N)ÚCÚparse_modelÚonnxZload_from_stringr   )r
   ÚsuccessÚmsgZmodel_proto_strr   r   r   r      s    
r   zonnx.GraphProto)Ú
graph_textr   c                 C  s6   t  | ¡\}}}|r*t ¡ }| |¡ |S t|ƒ‚dS )zˆParse a string to build a GraphProto.

    Arguments:
        graph_text (string): formatted string
    Returns:
        GraphProto
    N)r   Úparse_graphr   Z
GraphProtoÚParseFromStringr   )r   r   r   Zgraph_proto_strZgraph_protor   r   r   r      s    
r   zonnx.FunctionProto)Úfunction_textr   c                 C  s6   t  | ¡\}}}|r*t ¡ }| |¡ |S t|ƒ‚dS )z‘Parse a string to build a FunctionProto.

    Arguments:
        function_text (string): formatted string
    Returns:
        FunctionProto
    N)r   Úparse_functionr   ZFunctionProtor   r   )r   r   r   Zfunction_proto_strZfunction_protor   r   r   r   ,   s    
r   zonnx.NodeProto)Ú	node_textr   c                 C  s6   t  | ¡\}}}|r*t ¡ }| |¡ |S t|ƒ‚dS )z|Parse a string to build a NodeProto.

    Arguments:
        node_text: formatted string
    Returns:
        NodeProto
    N)r   Ú
parse_noder   Z	NodeProtor   r   )r   r   r   Znode_proto_strZ
node_protor   r   r   r   <   s    
r   )Ú
__future__r   r   Zonnx.onnx_cpp2py_export.parserZonnx_cpp2py_exportÚparserr   Ú	Exceptionr   r   r   r   r   r   r   r   r   Ú<module>   s   