Your IP : 18.119.119.26


Current Path : /lib64/python2.7/lib2to3/fixes/
Upload File :
Current File : //lib64/python2.7/lib2to3/fixes/fix_import.pyo

�
�mec@szdZddlmZddlmZmZmZmZddlm	Z	m
Z
mZd�Zdej
fd��YZd	S(
s�Fixer for import statements.
If spam is being imported from the local directory, this import:
    from spam import eggs
Becomes:
    from .spam import eggs

And this import:
    import spam
Becomes:
    from . import spam
i(t
fixer_basei����(tdirnametjointexiststsep(t
FromImporttsymsttokenccs�|g}x�|r�|j�}|jtjkr;|jVq|jtjkrwdjg|jD]}|j^q]�Vq|jtj	kr�|j
|jd�q|jtjkr�|j|jddd��qt
d��qWdS(sF
    Walks over all the names imported in a dotted_as_names node.
    tiNi����sunkown node type(tpopttypeRtNAMEtvalueRtdotted_nameRtchildrentdotted_as_nametappendtdotted_as_namestextendtAssertionError(tnamestpendingtnodetch((s0/usr/lib64/python2.7/lib2to3/fixes/fix_import.pyttraverse_importss		* t	FixImportcBs/eZeZdZd�Zd�Zd�ZRS(sj
    import_from< 'from' imp=any 'import' ['('] any [')'] >
    |
    import_name< 'import' imp=any >
    cCs/tt|�j||�d|jk|_dS(Ntabsolute_import(tsuperRt
start_treetfuture_featurestskip(tselfttreetname((s0/usr/lib64/python2.7/lib2to3/fixes/fix_import.pyR/scCs|jr
dS|d}|jtjkr~x t|d�sK|jd}q,W|j|j�rd|j|_|j�qn�t	}t	}x2t
|�D]$}|j|�r�t}q�t}q�W|r�|r�|j|d�ndSt
d|g�}|j|_|SdS(NtimpRiu.s#absolute and local imports together(RR
Rtimport_fromthasattrRtprobably_a_local_importRtchangedtFalseRtTruetwarningRtprefix(RRtresultsR"t
have_localt
have_absolutetmod_nametnew((s0/usr/lib64/python2.7/lib2to3/fixes/fix_import.pyt	transform3s,	
	
cCs�|jd�rtS|jdd�d}t|j�}t||�}ttt|�d��sftSx4dtdddd	gD]}t||�rtSqWtS(
Nu.iis__init__.pys.pys.pycs.sos.sls.pyd(	t
startswithR'tsplitRtfilenameRRRR((Rtimp_namet	base_pathtext((s0/usr/lib64/python2.7/lib2to3/fixes/fix_import.pyR%Us(t__name__t
__module__R(t
BM_compatibletPATTERNRR0R%(((s0/usr/lib64/python2.7/lib2to3/fixes/fix_import.pyR&s
		"N(t__doc__RRtos.pathRRRRt
fixer_utilRRRRtBaseFixR(((s0/usr/lib64/python2.7/lib2to3/fixes/fix_import.pyt<module>s
"