관리-도구
편집 파일: fix_import.cpython-35.opt-2.pyc
���]� � @ sw d d l m Z d d l m Z m Z m Z m Z d d l m Z m Z m Z d d � Z Gd d � d e j � Z d S) � )� fixer_base� )�dirname�join�exists�sep)� FromImport�syms�tokenc c s� | g } x� | r� | j � } | j t j k r; | j Vq | j t j k rn d j d d � | j D� � Vq | j t j k r� | j | j d � q | j t j k r� | j | j d d d � � q t d � � q Wd S)N� c S s g | ] } | j � q S� )�value)�.0Zchr r �//opt/alt/python35/lib64/python3.5/fix_import.py� <listcomp> s z$traverse_imports.<locals>.<listcomp>r r 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 sF e Z d Z d Z d Z � f d d � Z d d � Z d d � Z � S) � FixImportTzj import_from< 'from' imp=any 'import' ['('] any [')'] > | import_name< 'import' imp=any > c s/ t t | � j | | � d | j k | _ d S)NZabsolute_import)�superr � start_treeZfuture_features�skip)�selfZtree�name)� __class__r r r / s zFixImport.start_treec C s | j r d S| d } | j t j k r{ x t | d � sK | j d } q, W| j | j � r� d | j | _ | j � n� d } d } x2 t | � D]$ } | j | � r� d } q� d } q� W| r� | r� | j | d � d St d | g � } | j | _ | Sd S)N�impr r �.FTz#absolute and local imports together) r r r Zimport_from�hasattrr �probably_a_local_importr Zchangedr �warningr �prefix)r! r �resultsr$ Z have_localZ have_absoluteZmod_name�newr r r � transform3 s, zFixImport.transformc C s� | j d � r d S| j d d � d } t | j � } t | | � } t t t | � d � � sf d Sx4 d t d d d d g D] } t | | � r d Sq Wd S)Nr% F� r z__init__.pyz.pyz.pycz.soz.slz.pydT)� startswith�splitr �filenamer r r )r! Zimp_name� base_path�extr r r r'