î
\á[\B  ã               @   sS   d  Z  d d l m Z d d l m Z d d l m Z Gd d „  d e j ƒ Z d S)z©Fixer that changes 'a ,b' into 'a, b'.

This also changes '{a :b}' into '{a: b}', but does not touch other
uses of colons.  It does not touch other uses of whitespace.

é   )Úpytree)Útoken)Ú
fixer_basec               @   s^   e  Z d  Z d Z d Z e j e j d ƒ Z e j e j	 d ƒ Z	 e e	 f Z
 d d „  Z d S)Ú
FixWsCommaTzH
    any<(not(',') any)+ ',' ((not(',') any)+ ',')* [not(',') any]>
    ú,ú:c             C   s™   | j  ƒ  } d } x€ | j D]u } | |  j k rg | j } | j ƒ  r^ d | k r^ d | _ n  d } q | r‹ | j } | s‹ d | _ q‹ n  d } q W| S)NFÚ
Ú Tú )ZcloneZchildrenÚSEPSÚprefixÚisspace)ÚselfZnodeZresultsÚnewZcommaZchildr   © r   ú0/usr/lib/python3.4/lib2to3/fixes/fix_ws_comma.pyÚ	transform   s    			
zFixWsComma.transformN)Ú__name__Ú
__module__Ú__qualname__ZexplicitZPATTERNr   ZLeafr   ÚCOMMAÚCOLONr   r   r   r   r   r   r      s   r   N)Ú__doc__r	   r   Zpgen2r   r   ZBaseFixr   r   r   r   r   Ú<module>   s   