Your IP : 18.222.20.32


Current Path : /lib64/python3.6/__pycache__/
Upload File :
Current File : //lib64/python3.6/__pycache__/pkgutil.cpython-36.opt-2.pyc

3


 \CS�@stddlmZddlmZddlZddlZddlZddlZddl	Zddl
Z
ddlmZddl
Z
ddddd	d
ddd
dddgZedd�Zde_dd�Zdd�Zd*dd	�Zd+dd
�Zed,dd��Zd-dd�Zejejje�dd�ZGdd�d�ZGd d
�d
�Zy.ddlZdd!lmZd.d"d#�Zejee�Wne k
�r<YnXd$d�Z!d/d%d�Z"d&d�Z#d'd�Z$d(d�Z%d)d�Z&dS)0�)�
namedtuple)�singledispatchN)�
ModuleType�get_importer�iter_importers�
get_loader�find_loader�
walk_packages�iter_modules�get_data�ImpImporter�	ImpLoader�	read_code�extend_path�
ModuleInfozmodule_finder name ispkgz.A namedtuple with minimal info about a module.cCsLy
|j}Wn4tk
r>|j|�}|dkr0dStjj||�SX||�SdS)N)�	find_spec�AttributeError�find_module�	importlib�util�spec_from_loader)�finder�namer�loader�r�/usr/lib64/python3.6/pkgutil.py�	_get_specs

rcCs6ddl}|jd�}|tjjkr"dS|jd�|j|�S)Nr��)�marshal�readrr�MAGIC_NUMBER�load)�streamr�magicrrrr(s

�c
#s�ifdd��x�t||�D]�}|V|jryt|j�WnNtk
r\|dk	rX||j�Yqtk
r�|dk	r~||j�n�YqXttj|jdd�p�g}�fdd�|D�}t	||jd|�EdHqWdS)NcSs||krdSd||<dS)NTr)�p�mrrr�seenRszwalk_packages.<locals>.seen�__path__csg|]}�|�s|�qSrr)�.0r&)r(rr�
<listcomp>isz!walk_packages.<locals>.<listcomp>�.)
r
�ispkg�
__import__r�ImportError�	Exception�getattr�sys�modulesr	)�path�prefix�onerror�infor)r(rr	5s ccsf|dkrt�}n
tt|�}i}xB|D]:}x4t||�D]&\}}||kr4d||<t|||�Vq4Wq$WdS)N�)r�mapr�iter_importer_modulesr)r4r5Z	importers�yielded�irr-rrrr
ns


cCst|d�sgS|j|�S)Nr
)�hasattrr
)�importerr5rrrr:�s
r:ccs0|jdkstjj|j�rdSi}ddl}ytj|j�}Wntk
rRg}YnX|j�x�|D]�}|j|�}|dksb||kr�qbtjj|j|�}d}|o�tjj|�o�d|k�r|}ytj|�}	Wntk
r�g}	YnXx&|	D]}|j|�}
|
dkr�d}Pq�Wqb|rbd|krbd||<|||fVqbWdS)Nr�__init__Fr,Tr8)	r4�os�isdir�inspect�listdir�OSError�sort�
getmodulename�join)r>r5r;rB�	filenames�fn�modnamer4r-�dircontents�subnamerrr�_iter_file_finder_modules�s<





rMc
Cs.tj��tjdt�tjd�aWdQRXdS)N�ignore�imp)�warnings�catch_warnings�simplefilter�DeprecationWarningr�
import_modulerOrrrr�_import_imp�s
rUc@s*eZdZd	dd�Zd
dd�Zddd�ZdS)rNcCstjdt�t�||_dS)Nz5This emulation is deprecated, use 'importlib' instead)rP�warnrSrUr4)�selfr4rrrr?�szImpImporter.__init__c
Cs~|jd�d}||kr$|jdkr$dS|jdkr4d}ntjj|j�g}ytj||�\}}}Wntk
rndSXt||||�S)Nr,r8���)�splitr4r@�realpathrOrr/r
)rW�fullnamer4rL�file�filename�etcrrrr�s
zImpImporter.find_moduler%ccs0|jdkstjj|j�rdSi}ddl}ytj|j�}Wntk
rRg}YnX|j�x�|D]�}|j|�}|dksb||kr�qbtjj|j|�}d}|o�tjj|�o�d|k�r|}ytj|�}	Wntk
r�g}	YnXx&|	D]}|j|�}
|
dkr�d}Pq�Wqb|rbd|krbd||<|||fVqbWdS)Nrr?Fr,Tr8)	r4r@rArBrCrDrErFrG)rWr5r;rBrHrIrJr4r-rKrLrrrr
�s<





zImpImporter.iter_modules)N)N)r%)�__name__�
__module__�__qualname__r?rr
rrrrr�s

c@sjeZdZdZZdd�Zdd�Zdd�Zdd	�Zd
d�Z	dd
�Z
ddd�Zddd�Zdd�Z
ddd�ZdS)r
NcCs.tjdt�t�||_||_||_||_dS)Nz5This emulation is deprecated, use 'importlib' instead)rPrVrSrUr\r]r[r^)rWr[r\r]r^rrrr?szImpLoader.__init__cCs:|j�ztj||j|j|j�}Wd|jr4|jj�X|S)N)�_reopenrO�load_moduler\r]r^�close)rWr[�modrrrrcszImpLoader.load_modulec	Cst|d��
}|j�SQRXdS)N�rb)�openr )rW�pathnamer\rrrr"szImpLoader.get_datacCsT|jrP|jjrP|jd}|tjkr2t|jd�|_n|tjtjfkrPt|jd�|_dS)N��rrf)	r\�closedr^rO�	PY_SOURCErgr]�PY_COMPILED�C_EXTENSION)rW�mod_typerrrrb&s

zImpLoader._reopencCs0|dkr|j}n||jkr,td|j|f��|S)Nz,Loader for module %s cannot handle module %s)r[r/)rWr[rrr�	_fix_name.s
zImpLoader._fix_namecCs|j|�}|jdtjkS)Nri)rpr^rO�
PKG_DIRECTORY)rWr[rrr�
is_package6s
zImpLoader.is_packagec
Cs�|j|�}|jdkr�|jd}|tjkrD|j|�}t||jd�|_nJ|tjkrv|j	�zt
|j�|_Wd|jj�Xn|tj
kr�|j�j�|_|jS)Nri�exec)rp�coder^rOrl�
get_source�compiler]rmrbrr\rdrq�
_get_delegate�get_code)rWr[ro�sourcerrrrx:s






zImpLoader.get_codec
Cs�|j|�}|jdkr�|jd}|tjkrP|j�z|jj�|_Wd|jj�Xnd|tj	kr�t
jj|j
dd��r�t|j
dd�d��}|j�|_WdQRXn|tjkr�|j�j�|_|jS)Nrir8rjrXrX)rpryr^rOrlrbr\r rdrmr@r4�existsr]rgrqrwru)rWr[ro�frrrruKs





zImpLoader.get_sourcecCst|j�}t|d�}|jS)Nr?)rr]rr)rWr�specrrrrw]s

zImpLoader._get_delegatecCsH|j|�}|jd}|tjkr*|j�j�S|tjtjtjfkrD|j	SdS)Nri)
rpr^rOrqrw�get_filenamerlrmrnr])rWr[rorrrr}bs


zImpLoader.get_filename)N)N)N)r_r`rartryr?rcrrbrprrrxrurwr}rrrrr
	s	

)�zipimporterc	cs�ttj|j�}|j}t|�}i}ddl}x�|D]�}|j|�s@q0||d�jt	j
�}t|�dkr�|djd�r�|d|kr�d||d<||ddfVt|�dkr�q0|j|d�}|dkr�q0|r0d|kr0||kr0d||<||dfVq0WdS)	Nrrir8z__init__.pyTr?r,F)�sorted�	zipimport�_zip_directory_cache�archiver5�lenrB�
startswithrYr@�seprF)	r>r5Zdirlist�_prefixZplenr;rBrIrJrrr�iter_zipimport_modulesps*

r�cCsnytj|}WnZtk
rhxDtjD]6}y||�}tjj||�PWq&tk
rZYq&Xq&Wd}YnX|S)N)r2�path_importer_cache�KeyError�
path_hooks�
setdefaultr/)Z	path_itemr>�	path_hookrrrr�s	

ccs�|jd�rdj|�}t|��d|krV|jd�d}tj|�}t|dd�}|dkrhdSntjEdHtj	}x|D]}t
|�VqnWdS)Nr,z'Relative module name {!r} not supportedrr))r��formatr/�
rpartitionrrTr1r2�	meta_pathr4r)r[�msgZpkg_nameZpkgr4�itemrrrr�s



cCsn|tjkr tj|}|dkr dSt|t�rb|}t|dd�}|dk	rF|St|dd�dkrZdS|j}n|}t|�S)N�
__loader__�__spec__)r2r3�
isinstancerr1r_r)Zmodule_or_name�modulerr[rrrr�s


cCs�|jd�rdj|�}t|��ytjj|�}WnFttttfk
rr}z"d}t|j|t	|�|��|�WYdd}~XnX|dk	r�|j
SdS)Nr,z'Relative module name {!r} not supportedz,Error while finding loader for {!r} ({}: {}))r�r�r/rrrr�	TypeError�
ValueError�typer)r[r�r|Zexrrrr�s

*cCs�t|t�s|S|d}|dd�}|jd�\}}}|rbytj|j}Wqhttfk
r^|SXntj}�x:|D�]0}t|t	�s�qpt
|�}|dk	r�g}	t|d�r�|j|�}
|
dk	r�|
j
p�g}	nt|d�r�|j|�\}}	x|	D]}||kr�|j|�q�Wtjj||�}tjj|�rpyt|�}
Wn8tk
�rT}ztjjd||f�WYdd}~XqpX|
�Bx:|
D]2}|jd�}|�sb|jd��r��qb|j|��qbWWdQRXqpW|S)Nz.pkgr,rrzCan't open %s: %s
�
�#)r��listr�r2r3r)r�rr4�strrr=r�submodule_search_locationsr�appendr@rG�isfilergrD�stderr�write�rstripr�)r4rZ	sname_pkgZparent_package�_Z
final_nameZsearch_path�dirr�portionsr|ZportionZpkgfiler{r��linerrrr�sP!







cCs�tjj|�}|dkrdS|j}|dks2t|d�r6dStjj|�pLtjj	|�}|dksbt|d�rfdS|j
d�}|jdtj
j|j��tj
j|�}|j|�S)Nr�__file__�/r)rrrrr=r2r3�get�
_bootstrap�_loadrY�insertr@r4�dirnamer�rGr)�packageZresourcer|rre�partsZ
resource_namerrrrRs
)Nr%N)Nr%)r%)r%)r%)r%)'�collectionsr�	functoolsrZ
simplegenericr�importlib.util�importlib.machineryr@Zos.pathr2�typesrrP�__all__r�__doc__rrr	r
r:rM�register�	machinery�
FileFinderrUrr
r�r~r�r/rrrrrrrrrr�<module>sP

9

(Jc

^