B
Cż4} @ s: d Z ddlmZ ddlmZmZmZ G dd dejZdS )zA Fixer for imports of itertools.(imap|ifilter|izip|ifilterfalse) )
fixer_base) BlankLinesymstokenc @ 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}|dkrd |_| q8|dkr8| |d dkrdnd |_q8W |jd d p|g}d
} x.|D ]&}| r|j tj
kr| q| d
N } qW x*|r(|d j tj
kr(| q W |js@t|dd rL|j
d krb|j}
t }|
|_|S d S )
Nimports r )ZimapZizipZifilter)ZifilterfalseZizip_longest ffilterfalsezip_longestTvalue)typer Zimport_as_namechildrenr NAMEr STARremoveZchangedCOMMApopgetattrparentprefixr )selfZnodeZresultsr r ZchildmemberZ name_nodemember_nameZremove_commap r H/opt/alt/python37/lib64/python3.7/lib2to3/fixes/fix_itertools_imports.py transform sB
zFixItertoolsImports.transformN)__name__
__module____qualname__Z
BM_compatiblelocalsZPATTERNr r r r r r s
r N) __doc__Zlib2to3r Zlib2to3.fixer_utilr r r ZBaseFixr r r r r