a
i @ sV d dl mZ ddlmZmZmZmZ d dlmZm Z m
Z
dd ZG dd dejZ
d S )
)
fixer_base )dirnamejoinexistssep)
FromImportsymstokenc c s | g}|r| }|jtjkr(|jV q|jtjkrNddd |jD V q|jtj krl|
|jd q|jtjkr||jd d d qt
dqd S )N c S s g | ]
}|j qS )value).0Zchr r 0/usr/lib64/python3.9/lib2to3/fixes/fix_import.py
z$traverse_imports..r zunknown node type)poptyper
NAMEr
r Zdotted_namer childrenZdotted_as_nameappendZdotted_as_namesextendAssertionError)namespendingnoder r r traverse_imports s
r c s4 e Zd ZdZdZ fddZdd 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_featuresskip)selfZtreename __class__r r r / s zFixImport.start_treec C s | j r
d S |d }|jtjkrVt|ds4|jd }q| |jrd|j |_| nZd}d}t |D ]}| |rzd}qfd}qf|r|r|
|d d S td|g}|j|_|S d S )Nimpr
r .FTz#absolute and local imports together)
r! r r Zimport_fromhasattrr probably_a_local_importr
changedr warningr prefix)r" r resultsr&