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 sz |d }|j tjks|js"|g}n|j}x|d d d D ]}|j tjkrT|j}|}n*|j tjkrdd S |j tjkstt|jd }|j}|dkrd |_| q8|dkr8|
|d dkrdnd |_q8W |jd d p|g}d
} x2|D ]*}| r|j tjkr| q| d
N } qW x*|r<|d j tjkr<| qW |jsTt
|dd r`|jd krv|j}
t }|
|_|S d S )
Nimports r )ZimapZizipZifilter)ZifilterfalseZizip_longest ffilterfalsezip_longestTvalue)typer Zimport_as_namechildrenr NAMEr STARAssertionErrorremoveZchangedCOMMApopgetattrparentprefixr )selfZnodeZresultsr r ZchildmemberZ name_nodemember_nameZremove_commap r H/opt/alt/python37/lib64/python3.7/lib2to3/fixes/fix_itertools_imports.py transform sD
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