Spade
Mini Shell
| Directory:~$ /proc/self/root/usr/lib64/python3.6/lib2to3/fixes/__pycache__/ |
| [Home] [System Details] [Kill Me] |
3
\��@sVddlmZddlmZmZmZmZddlmZm Z m
Z
dd�ZGdd�dej�Z
d S)
�)�
fixer_base�)�dirname�join�exists�sep)�
FromImport�syms�tokenccs�|g}x�|r�|j�}|jtjkr*|jVq|jtjkrPdjdd�|jD��Vq|jtj krn|j
|jd�q|jtjkr�|j|jddd��qt
d��qWdS)N�cSsg|]
}|j�qS�)�value)�.0Zchrr�0/usr/lib64/python3.6/lib2to3/fixes/fix_import.py�
<listcomp>sz$traverse_imports.<locals>.<listcomp>rrzunknown
node type���)�pop�typer
�NAMEr
r Zdotted_namer�childrenZdotted_as_name�appendZdotted_as_names�extend�AssertionError)�names�pending�noderrr�traverse_importss
rcs4eZdZdZdZ�fdd�Zdd�Zdd�Z�ZS) � FixImportTzj
import_from< 'from' imp=any 'import'
['('] any [')'] >
|
import_name< 'import' imp=any >
cs"tt|�j||�d|jk|_dS)NZabsolute_import)�superr�
start_treeZfuture_features�skip)�selfZtree�name)� __class__rrr/szFixImport.start_treecCs�|jr
dS|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�dStd|g�}|j|_|SdS)N�impr
r�.FTz#absolute and
local imports together)
r
rr Zimport_from�hasattrr�probably_a_local_importr
ZchangedrZwarningr�prefix)r!rZresultsr$Z
have_localZ
have_absoluteZmod_name�newrrr� transform3s,
zFixImport.transformcCsv|jd�rdS|jdd�d}t|j�}t||�}ttt|�d��sHdSx(dtddd d
gD]}t||�rZdSqZWdS)Nr%F�rz__init__.pyz.pyz.pycz.soz.slz.pydT)�
startswith�splitr�filenamerrr)r!Zimp_name� base_pathZextrrrr'Us
z!FixImport.probably_a_local_import) �__name__�
__module__�__qualname__Z
BM_compatibleZPATTERNrr*r'�
__classcell__rr)r#rr&s
"rN)rrZos.pathrrrrZ
fixer_utilrr r
rZBaseFixrrrrr�<module>s