B
o«µ]p! ã @ 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}ÚincludeZfallbackÚ*é c @ s e Zd ZdS )ÚFatalIncludeErrorN)Ú__name__Ú
__module__Ú__qualname__© r r úF/opt/alt/python37/lib64/python3.7/site-packages/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"t |¡ ¡ }n| ¡ }|s2d}| |¡}| ¡ |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 | |¡ ¡ }n>d| kr,t| ƒ}n
t| dƒ}| ¡ }| ¡ |sNd}| |¡}|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.