Plan 9 from Bell Labs’s /usr/web/sources/contrib/stallion/root/sys/lib/python2.7/lib2to3/fixes/fix_import.pyo

Copyright © 2021 Plan 9 Foundation.
Distributed under the MIT License.
Download the Plan 9 distribution.


�`^c@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�sunknown node type(tpopttypeRtNAMEtvalueRtdotted_nameRtchildrentdotted_as_nametappendtdotted_as_namestextendtAssertionError(tnamestpendingtnodetch((s./sys/lib/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((s./sys/lib/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((s./sys/lib/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((s./sys/lib/python2.7/lib2to3/fixes/fix_import.pyR%Us(t__name__t
__module__R(t
BM_compatibletPATTERNRR0R%(((s./sys/lib/python2.7/lib2to3/fixes/fix_import.pyR&s
		"N(t__doc__RRtos.pathRRRRt
fixer_utilRRRRtBaseFixR(((s./sys/lib/python2.7/lib2to3/fixes/fix_import.pyt<module>s
"	

Bell Labs OSI certified Powered by Plan 9

(Return to Plan 9 Home Page)

Copyright © 2021 Plan 9 Foundation. All Rights Reserved.
Comments to [email protected].