OwlCyberSecurity - MANAGER
Edit File: fix_import.cpython-310.opt-1.pyc
o ����S�g�����������������������@���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}|rQ|����}|jtjkr|jV��n8|jtjkr(d�dd��|jD���V��n%|jtj kr7|� |jd���n|jtjkrI|�|jddd����nt d��|sdS�dS�)zF Walks over all the names imported in a dotted_as_names node. ��c�����������������S���s���g�|�]}|j��qS���)�value)�.0Zchr���r����?/opt/alt/python310/lib64/python3.10/lib2to3/fixes/fix_import.py� <listcomp>���s����z$traverse_imports.<locals>.<listcomp>r���N���zunknown node type)�pop�typer ����NAMEr ���r ���Zdotted_namer����childrenZdotted_as_name�appendZdotted_as_names�extend�AssertionError)�namesZpending�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|���||��d|jv�|�_d�S�)NZabsolute_import)�superr���� start_treeZfuture_features�skip)�selfZtree�name�� __class__r���r���r���/���s���zFixImport.start_treec�����������������C���s����|�j�rd�S�|d�}|jtjkr2t|d�s|jd�}t|d�r|��|j�r0d|j�|_|����d�S�d�S�d}d}t |�D�]}|��|�rDd}q:d}q:|rS|rQ|�� |d��d�S�td|g�}|j|_|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���s0��� �� zFixImport.transformc�����������������C���st���|��d�rdS�|�dd�d�}t|�j�}t||�}ttt|�d��s$dS�dtddd d fD�]}t||��r7�dS�q,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����