a
    e0h                     @   sX   d Z ddlmZ ddlmZ ddlmZmZ ddl	Z	G dd deZ
G dd	 d	eZdS )
zy
Customized Mixin2to3 support:

 - adds support for converting doctests


This module raises an ImportError on Python 2.
    )	Mixin2to3)log)RefactoringToolget_fixers_from_packageNc                   @   s$   e Zd Zdd Zdd Zdd ZdS )DistutilsRefactoringToolc                 O   s   t j|g|R   d S N)r   error)selfmsgargskw r   C/var/www/auris/lib/python3.9/site-packages/setuptools/lib2to3_ex.py	log_error   s    z"DistutilsRefactoringTool.log_errorc                 G   s   t j|g|R   d S r   )r   infor	   r
   r   r   r   r   log_message   s    z$DistutilsRefactoringTool.log_messagec                 G   s   t j|g|R   d S r   )r   debugr   r   r   r   	log_debug   s    z"DistutilsRefactoringTool.log_debugN)__name__
__module____qualname__r   r   r   r   r   r   r   r      s   r   c                   @   s&   e Zd Zd	ddZdd Zdd ZdS )
r   Fc                 C   sr   | j jdurd S |sd S tdd|  |   |   |rbtjrnt	| j
}|j|ddd nt| | d S )NTzFixing  )writeZdoctests_only)distributionZuse_2to3r   r   join_Mixin2to3__build_fixer_names_Mixin2to3__exclude_fixers
setuptoolsZrun_2to3_on_doctestsr   fixer_namesrefactor
_Mixin2to3run_2to3)r	   filesZdoctestsrr   r   r   r"      s    
zMixin2to3.run_2to3c                 C   sZ   | j r
d S g | _ tjD ]}| j t| q| jjd urV| jjD ]}| j t| q@d S r   )r   r   Zlib2to3_fixer_packagesextendr   r   Zuse_2to3_fixers)r	   pr   r   r   Z__build_fixer_names.   s    
zMixin2to3.__build_fixer_namesc                 C   sJ   t | dg }| jjd ur&|| jj |D ]}|| jv r*| j| q*d S )NZexclude_fixers)getattrr   Zuse_2to3_exclude_fixersr%   r   remove)r	   Zexcluded_fixersZ
fixer_namer   r   r   Z__exclude_fixers8   s    
zMixin2to3.__exclude_fixersN)F)r   r   r   r"   r   r   r   r   r   r   r      s   

r   )__doc__distutils.utilr   r!   	distutilsr   lib2to3.refactorr   r   r   r   r   r   r   r   <module>   s   	