File: //lib64/python3.6/lib2to3/fixes/__pycache__/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"