ó
.żWc           @   sx   d  Z  d d l m Z d d l m Z d d l m Z m Z d d l	 Z	 d e f d     YZ
 d e f d	     YZ d S(
   sy   
Customized Mixin2to3 support:

 - adds support for converting doctests


This module raises an ImportError on Python 2.
i˙˙˙˙(   t	   Mixin2to3(   t   log(   t   RefactoringToolt   get_fixers_from_packageNt   DistutilsRefactoringToolc           B   s#   e  Z d    Z d   Z d   Z RS(   c         O   s   t  j | |  d  S(   N(   R   t   error(   t   selft   msgt   argst   kw(    (    s9   /tmp/pip-build-Q3rTTP/setuptools/setuptools/lib2to3_ex.pyt	   log_error   s    c         G   s   t  j | |  d  S(   N(   R   t   info(   R   R   R   (    (    s9   /tmp/pip-build-Q3rTTP/setuptools/setuptools/lib2to3_ex.pyt   log_message   s    c         G   s   t  j | |  d  S(   N(   R   t   debug(   R   R   R   (    (    s9   /tmp/pip-build-Q3rTTP/setuptools/setuptools/lib2to3_ex.pyt	   log_debug   s    (   t   __name__t
   __module__R
   R   R   (    (    (    s9   /tmp/pip-build-Q3rTTP/setuptools/setuptools/lib2to3_ex.pyR      s   		R    c           B   s&   e  Z e d   Z d   Z d   Z RS(   c         C   s   |  j  j t k	 r d  S| s  d  St j d d j |   |  j   |  j   | r t j	 r t
 |  j  } | j | d t d t q n t j |  |  d  S(   Ns   Fixing t    t   writet   doctests_only(   t   distributiont   use_2to3t   TrueR   R   t   joint   _Mixin2to3__build_fixer_namest   _Mixin2to3__exclude_fixerst
   setuptoolst   run_2to3_on_doctestsR   t   fixer_namest   refactort
   _Mixin2to3t   run_2to3(   R   t   filest   doctestst   r(    (    s9   /tmp/pip-build-Q3rTTP/setuptools/setuptools/lib2to3_ex.pyR      s    

	c         C   s   |  j  r d  Sg  |  _  x' t j D] } |  j  j t |   q  W|  j j d  k	 r x- |  j j D] } |  j  j t |   q_ Wn  d  S(   N(   R   R   t   lib2to3_fixer_packagest   extendR   R   t   use_2to3_fixerst   None(   R   t   p(    (    s9   /tmp/pip-build-Q3rTTP/setuptools/setuptools/lib2to3_ex.pyt   __build_fixer_names0   s    		c         C   sq   t  |  d g   } |  j j d  k	 r: | j |  j j  n  x0 | D]( } | |  j k rA |  j j |  qA qA Wd  S(   Nt   exclude_fixers(   t   getattrR   t   use_2to3_exclude_fixersR&   R$   R   t   remove(   R   t   excluded_fixerst
   fixer_name(    (    s9   /tmp/pip-build-Q3rTTP/setuptools/setuptools/lib2to3_ex.pyt   __exclude_fixers:   s    (   R   R   t   FalseR   R   R   (    (    (    s9   /tmp/pip-build-Q3rTTP/setuptools/setuptools/lib2to3_ex.pyR       s   	
(   t   __doc__t   distutils.utilR    R   t	   distutilsR   t   lib2to3.refactorR   R   R   R   (    (    (    s9   /tmp/pip-build-Q3rTTP/setuptools/setuptools/lib2to3_ex.pyt   <module>   s   