ó
è¾bc           @   sS   d  Z  d d l m Z d d l m Z d d l m Z d e j f d „  ƒ  YZ d S(   s©   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.

i   (   t   pytree(   t   token(   t
   fixer_baset
   FixWsCommac           B   sS   e  Z e Z d  Z e j e j d ƒ Z e j e j	 d ƒ Z	 e e	 f Z
 d „  Z RS(   sH   
    any<(not(',') any)+ ',' ((not(',') any)+ ',')* [not(',') any]>
    u   ,u   :c         C   s™   | j  ƒ  } t } x€ | j D]u } | |  j k rg | j } | j ƒ  r^ d | k r^ d | _ n  t } q | r‹ | j } | s‹ d | _ q‹ n  t } q W| S(   Nu   
u    u    (   t   clonet   Falset   childrent   SEPSt   prefixt   isspacet   True(   t   selft   nodet   resultst   newt   commat   childR   (    (    s0   /usr/lib/python2.7/lib2to3/fixes/fix_ws_comma.pyt	   transform   s    			
(   t   __name__t
   __module__R
   t   explicitt   PATTERNR    t   LeafR   t   COMMAt   COLONR   R   (    (    (    s0   /usr/lib/python2.7/lib2to3/fixes/fix_ws_comma.pyR      s   N(   t   __doc__t    R    t   pgen2R   R   t   BaseFixR   (    (    (    s0   /usr/lib/python2.7/lib2to3/fixes/fix_ws_comma.pyt   <module>   s   