File: //lib64/python3.9/xml/etree/__pycache__/ElementInclude.cpython-39.opt-2.pyc
a
    �DOg�  �                   @   s~   d dl Z ddlmZ d dlmZ dZed Zed ZdZG d	d
� d
e	�Z
G dd� de
�Zdd
d�Zddefdd�Z
dd� ZdS )�    N�   )�ElementTree)�urljoinz!{http://www.w3.org/2001/XInclude}�include�fallback�   c                   @   s   e Zd ZdS )�FatalIncludeErrorN��__name__�
__module__�__qualname__� r
   r
   �0/usr/lib64/python3.9/xml/etree/ElementInclude.pyr   C   s   r   c                   @   s   e Zd ZdS )�LimitedRecursiveIncludeErrorNr	   r
   r
   r
   r   r   G   s   r   c                 C   s�   |dkrBt | d��}t�|��� }W d   � q�1 s60    Y  n>|sJd}t | d|d��}|�� }W d   � n1 sv0    Y  |S )N�xml�rbzUTF-8�r)�encoding)�openr   �parse�getroot�read)�hrefr   r   �file�datar
   r
   r   �default_loaderW   s    .&r   c                 C   sV   |d u rd}n|dk r"t d| ��t| d�r4| �� } |d u r@t}t| |||t� � d S )N���r   z;expected non-negative depth or None for 'max_depth', got %rr   )�
ValueError�hasattrr   r   �_include�set)�elem�loader�base_url�	max_depthr
   r
   r   r   t   s    
c                 C   s�  d}|t | �k �r�| | }|jtk�r�|�d�}|r>t||�}|�dd�}|dkr�||v rftd| ��|dkrztd| ��|�|� |||�}	|	d u r�td||f ��t�|	�}	t	|	|||d |� |�
|� |jr�|	jp�d	|j |	_|	| |<