B
ˆ f& ã @ s: d Z ddlmZ ddlmZmZmZ G dd„ dejƒZdS )zA Fixer for imports of itertools.(imap|ifilter|izip|ifilterfalse) é )Ú
fixer_base)Ú BlankLineÚsymsÚtokenc @ s" e Zd ZdZdeƒ Zdd„ ZdS )ÚFixItertoolsImportsTzT
import_from< 'from' 'itertools' 'import' imports=any >
c C sz |d }|j tjks|js"|g}n|j}xœ|d d d… D ]Š}|j tjkrT|j}|}n*|j tjkrdd S |j tjkstt‚|jd }|j}|dkrœd |_| ¡ q8|dkr8|
¡ |d dkr¼dnd |_q8W |jd d … pØ|g}d
} x2|D ]*}| �r|j tjk�r| ¡ qä| d
N } qäW x*|�r<|d j tjk�r<| ¡ ¡ �qW |j�sTt
|dd ƒ�r`|jd k�rv|j}
tƒ }|
|_|S d S )
NÚimportsé r )ZimapZizipZifilter)ZifilterfalseZizip_longesté ÚfÚfilterfalseÚzip_longestTéÿÿÿÿÚvalue)Útyper Zimport_as_nameÚchildrenr ÚNAMEr ÚSTARÚAssertionErrorÚremoveZchangedÚCOMMAÚpopÚgetattrÚparentÚprefixr )ÚselfZnodeZresultsr r ZchildÚmemberZ name_nodeÚmember_nameZremove_commaÚp© r úH/opt/alt/python37/lib64/python3.7/lib2to3/fixes/fix_itertools_imports.pyÚ transform sD
zFixItertoolsImports.transformN)Ú__name__Ú
__module__Ú__qualname__Z
BM_compatibleÚlocalsZPATTERNr r r r r r s
r N) Ú__doc__Zlib2to3r Zlib2to3.fixer_utilr r r ZBaseFixr r r r r Ú