HEX
Server: Apache
System: Linux server2.voipitup.com.au 4.18.0-553.104.1.lve.el8.x86_64 #1 SMP Tue Feb 10 20:07:30 UTC 2026 x86_64
User: posscale (1027)
PHP: 8.2.29
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //opt/saltstack/salt/lib/python3.10/lib2to3/fixes/__pycache__/fix_import.cpython-310.pyc
o

�N�g��@sZdZddlmZddlmZmZmZmZddlm	Z	m
Z
mZdd�ZGdd	�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�tokenccs��|g}|rQ|��}|jtjkr|jVn8|jtjkr(d�dd�|jD��Vn%|jtj	kr7|�
|jd�n|jtjkrI|�|jddd��nt
d��|sdSdS)zF
    Walks over all the names imported in a dotted_as_names node.
    �cSsg|]}|j�qS�)�value)�.0�chrr�>/opt/saltstack/salt/lib/python3.10/lib2to3/fixes/fix_import.py�
<listcomp>sz$traverse_imports.<locals>.<listcomp>rN���zunknown node type)�pop�typer
�NAMEr
r	Zdotted_namer�childrenZdotted_as_name�appendZdotted_as_names�extend�AssertionError)�names�pending�noderrr�traverse_importss�
�rcs4eZdZdZdZ�fdd�Zdd�Zdd�Z�ZS)	�	FixImportTzj
    import_from< 'from' imp=any 'import' ['('] any [')'] >
    |
    import_name< 'import' imp=any >
    cs"tt|��||�d|jv|_dS)NZabsolute_import)�superr�
start_treeZfuture_features�skip)�selfZtree�name��	__class__rrr /szFixImport.start_treecCs�|jrdS|d}|jtjkr2t|d�s|jd}t|d�r|�|j�r0d|j|_|��dSdSd}d}t	|�D]}|�|�rDd}q:d}q:|rS|rQ|�
|d�dStd|g�}|j|_|S)N�impr
r�.FTz#absolute and local imports together)
r!rr	Zimport_from�hasattrr�probably_a_local_importr
�changedr�warningr�prefix)r"r�resultsr&Z
have_localZ
have_absolute�mod_name�newrrr�	transform3s0


��
zFixImport.transformcCst|�d�rdS|�dd�d}t|j�}t||�}ttt|�d��s$dSdtddd	d
fD]}t||�r7dSq,dS)Nr'F�rz__init__.pyz.pyz.pycz.soz.slz.pydT)�
startswith�splitr�filenamerrr)r"Zimp_name�	base_path�extrrrr)Us


�z!FixImport.probably_a_local_import)	�__name__�
__module__�__qualname__Z
BM_compatibleZPATTERNr r0r)�
__classcell__rrr$rr&s"rN)�__doc__rrZos.pathrrrrZ
fixer_utilrr	r
rZBaseFixrrrrr�<module>s