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 sf |d }|j tjks|js"|g}n|j}xŒ|d d d… D ]z}|j tjkrT|j}|}n|j tjkrdd S |jd }|j}|dkrŒd |_| ¡ q8|dkr8| ¡ |d dkr¬dnd |_q8W |jd d … pÈ|g}d
} x.|D ]&}| rò|j tj
krò| ¡ qÔ| d
N } qÔW x*|�r(|d j tj
k�r(| ¡ ¡ �q W |j�s@t|dd ƒ�rL|j
d k�rb|j}
tƒ }|
|_|S d S )
NÚimportsé r )ZimapZizipZifilter)ZifilterfalseZizip_longesté ÚfÚfilterfalseÚzip_longestTéÿÿÿÿÚvalue)Útyper Zimport_as_nameÚchildrenr ÚNAMEr ÚSTARÚ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 sB
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 Ú