Spade
Mini Shell
| Directory:~$ /proc/self/root/usr/lib/python2.7/site-packages/libfuturize/fixes/ |
| [Home] [System Details] [Kill Me] |
�
,�]c@s�dZddlmZmZmZmZddlmZddlm Z m
Z
ddlmZddlm
Z
defd��YZd S(
s�
Fixer for import statements, with a __future__ import line.
Based on lib2to3/fixes/fix_import.py, but extended slightly so it also
supports Cython modules.
If spam is being imported from the local directory, this import:
from spam import eggs
becomes:
from __future__ import absolute_import
from .spam import eggs
and this import:
import spam
becomes:
from __future__ import absolute_import
from . import spam
i����(tdirnametjointexiststsep(t FixImport(t
FromImporttsyms(ttraverse_imports(t
future_importtFixAbsoluteImportcBs
eZdZd�Zd�ZRS(i cCs"|jr
dS|d}|jtjkr�x
t|d�sK|jd}q,W|j|j�rd|j|_|j�t d|�qn�t
}t
}x2t|�D]$}|j|�r�t}q�t}q�W|r�|r�|j
|d�ndStd|g�}|j|_t d|�|SdS(s�
Copied from FixImport.transform(), but with this line added in
any modules that had implicit relative imports changed:
from __future__ import absolute_import"
Ntimptvalueiu.uabsolute_imports#absolute and local imports
together(tskipttypeRtimport_fromthasattrtchildrentprobably_a_local_importRtchangedRtFalseRtTruetwarningRtprefix(tselftnodetresultsR
t
have_localt
have_absolutetmod_nametnew((sI/usr/lib/python2.7/site-packages/libfuturize/fixes/fix_absolute_import.pyt transforms0
cCs�|jd�rtS|jdd�d}t|j�}t||�}ttt|�d��sftSx7dtdddd d
gD]}t||�r�tSq�WtS(sq
Like the corresponding method in the base class, but this also
supports Cython modules.
u.iis__init__.pys.pys.pycs.sos.sls.pyds.pyx( t
startswithRtsplitRtfilenameRRRR(Rtimp_namet base_pathtext((sI/usr/lib/python2.7/site-packages/libfuturize/fixes/fix_absolute_import.pyRIs"(t__name__t
__module__t run_orderRR(((sI/usr/lib/python2.7/site-packages/libfuturize/fixes/fix_absolute_import.pyR s *N(t__doc__tos.pathRRRRtlib2to3.fixes.fix_importRtlib2to3.fixer_utilRRRtlibfuturize.fixer_utilRR (((sI/usr/lib/python2.7/site-packages/libfuturize/fixes/fix_absolute_import.pyt<module>s"