File: //usr/local/lib64/python3.6/site-packages/lxml/__pycache__/ElementInclude.cpython-36.pyc
3
��?ep! � @ s� d Z ddlmZ yddlmZ ddlmZ W n, ek
rX ddlmZ ddl mZ Y nX dZ
e
d Ze
d Ze
d Z
d ZG d
d� dej�ZG dd
� d
e�Zddd�Zddd�Zdd� Zddefdd�Zddedfdd�ZdS )a
Limited XInclude support for the ElementTree package.
While lxml.etree has full support for XInclude (see
`etree.ElementTree.xinclude()`), this module provides a simpler, pure
Python, ElementTree compatible implementation that supports a simple
form of custom URL resolvers.
� )�etree)�urljoin)�urlopenz!{http://www.w3.org/2001/XInclude}�include�fallback�*� c @ s e Zd ZdS )�FatalIncludeErrorN)�__name__�
__module__�__qualname__� r
r
�3/tmp/pip-build-_veujq9v/lxml/lxml/ElementInclude.pyr K s r c @ s e Zd ZdS )�LimitedRecursiveIncludeErrorN)r
r r r
r
r
r r O s r Nc C sH t | d�}|dkr"tj|�j� }n|j� }|s2d}|j|�}|j� |S )N�rb�xmlzutf-8)�openr �parse�getroot�read�decode�close)�hrefr �encoding�file�datar
r
r �default_loader` s
r c C s\ |dkrt j| |�j� }n>d| kr,t| �}n
t| d�}|j� }|j� |sNd}|j|�}|S )Nr z://r zutf-8)r r r r r r r r )r r r �parserr �fr
r
r �_lxml_default_loaderq s
r c s d� fdd� }|S )Nc s � | ||�S )Nr
)r r r r )�loaderr
r �load� s z_wrap_et_loader.<locals>.load)NNr
)r r! r
)r r �_wrap_et_loader� s r"