o
    ϐxe<                     @   s>   d dl mZmZ ddlmZmZ ddlmZ G dd dZdS )    )UnionIO   )ffilib)_checked_lib_callc                   @   sp   e Zd Zdd Zdd Zdeeef fddZdd	efd
dZ	defddZ
defddZdedefddZdS )Parserc                 C   s   t  | _d S N)r   netplan_parser_new_ptr)self r   0/usr/lib/python3/dist-packages/netplan/parser.py__init__   s   zParser.__init__c                 C   s   t d| j}t| d S )NzNetplanParser **)r   newr   r   netplan_parser_clear)r   refr   r   r   __del__   s   zParser.__del__
input_filec                 C   s4   t |trttj| j|dS ttj| j| S Nzutf-8)	
isinstancestrr   r   netplan_parser_load_yamlr   encode netplan_parser_load_yaml_from_fdfilenor   r   r   r   r   	load_yaml   s   
zParser.load_yamlNrootdirc                 C   s$   |r| dntj}ttj| j|S r   )r   r   NULLr   r   "netplan_parser_load_yaml_hierarchyr   )r   r   rootr   r   r   load_yaml_hierarchy$   s   zParser.load_yaml_hierarchyc                 C   s   t tj| j|dS r   )r   r   netplan_parser_load_keyfiler   r   r   r   r   r   load_keyfile(   s   zParser.load_keyfilec                 C   s   t tj| j| S r	   )r   r   #netplan_parser_load_nullable_fieldsr   r   r   r   r   r   load_nullable_fields+   s   zParser.load_nullable_fields
constraintc                 C   s   t tj| j| |dS r   )r   r   &netplan_parser_load_nullable_overridesr   r   r   )r   r   r'   r   r   r   _load_nullable_overrides.   s   zParser._load_nullable_overridesr	   )__name__
__module____qualname__r   r   r   r   r   r   r"   r$   r&   r)   r   r   r   r   r      s    r   N)	typingr   r   _netplan_cffir   r   _utilsr   r   r   r   r   r   <module>   s   