Edit File: fix_import.cpython-36.pyc
3 � \�������������������@���sZ���d�Z�ddlmZ�ddlmZmZmZmZ�ddlm Z m Z mZ�dd��ZG�dd ��d ej �Zd S�)z�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 ����)� fixer_base�����)�dirname�join�exists�sep)� FromImport�syms�tokenc�������������c���s����|�g}x�|r�|j���}|jtjkr*|jV��q|jtjkrPdjdd��|jD���V��q|jtj krn|j |jd���q|jtjkr�|j|jddd����qt d��qW�dS�) zF Walks over all the names imported in a dotted_as_names node. ��c�������������S���s���g�|�] }|j��qS���)�value)�.0Zchr���r����0/usr/lib64/python3.6/lib2to3/fixes/fix_import.py� <listcomp>���s����z$traverse_imports.<locals>.<listcomp>r���Nr���zunknown node type���)�pop�typer ����NAMEr ���r ���Zdotted_namer����childrenZdotted_as_name�appendZdotted_as_names�extend�AssertionError)�names�pending�noder���r���r����traverse_imports���s���� r���c�������������������s4���e�Zd�ZdZdZ��fdd�Zdd��Zdd��Z���ZS�) � FixImportTzj import_from< 'from' imp=any 'import' ['('] any [')'] > | import_name< 'import' imp=any > c����������������s"���t�t|��j||��d|jk|�_d�S�)NZabsolute_import)�superr���� start_treeZfuture_features�skip)�selfZtree�name)� __class__r���r���r���/���s����zFixImport.start_treec�������������C���s����|�j�r d�S�|d�}|jtjkrZxt|d�s6|jd�}q W�|�j|j�r�d|j�|_|j���n^d}d}x$t |�D�]}|�j|�r�d}qld}qlW�|r�|r�|�j |d��d�S�td|g�}|j|_|S�d�S�)N�impr ���r����.FTz#absolute and local imports together) r ���r���r ���Zimport_from�hasattrr����probably_a_local_importr ���Zchangedr���Zwarningr����prefix)r!���r���Zresultsr$���Z have_localZ have_absoluteZmod_name�newr���r���r���� transform3���s,���� zFixImport.transformc�������������C���sv���|j�d�rdS�|jdd�d�}t|�j�}t||�}ttt|�d��sHdS�x(dtddd d gD�]}t||��rZdS�qZW�dS�)Nr%���F����r���z__init__.pyz.pyz.pycz.soz.slz.pydT)� startswith�splitr����filenamer���r���r���)r!���Zimp_name� base_pathZextr���r���r���r'���U���s���� z!FixImport.probably_a_local_import) �__name__� __module__�__qualname__Z BM_compatibleZPATTERNr���r*���r'���� __classcell__r���r���)r#���r���r���&���s ���"r���N)�__doc__r���r���Zos.pathr���r���r���r���Z fixer_utilr���r ���r ���r���ZBaseFixr���r���r���r���r����<module>���s ���