U
e5d& ã @ 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 sp |d }|j tjks|js"|g}n|j}|d d d… D ]Œ}|j tjkrR|j}|}n,|j tjkrd d S |j tjkstt‚|jd }|j}|dkrœd |_| ¡ q6|dkr6|
¡ |d dkr¼dnd |_q6|jd d … pÖ|g}d
} |D ]*}| �r|j tjk�r| ¡ qà| d
N } qà|�r4|d j tjk�r4| ¡ ¡ �q|j�sJt
|dd ƒ�rV|jd k�rl|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 ú;/usr/lib64/python3.8/lib2to3/fixes/fix_itertools_imports.pyÚ transform sH
ÿ
ÿ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 Ú