a
    CaP	                     @   sl   d Z ddlZddlmZ ddlmZ ddlmZm	Z	 ddl
Z
ddlm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.
    N)	Mixin2to3)log)RefactoringToolget_fixers_from_package   )SetuptoolsDeprecationWarningc                   @   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   e/Users/vegardjervell/Documents/master/model/venv/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   s~   | j jdurd S |sd S tdt tdd|  |   | 	  |rnt
jrzt| j}|j|ddd nt| | d S )NTz2to3 support is deprecated. If the project still requires Python 2 support, please migrate to a single-codebase solution or employ an independent conversion process.zFixing  )writeZdoctests_only)distributionZuse_2to3warningswarnr   r   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_names7   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_fixersA   s    
zMixin2to3.__exclude_fixersN)F)r   r   r   r&   r    r!   r   r   r   r   r      s   

r   )__doc__r   distutils.utilr   r%   	distutilsr   lib2to3.refactorr   r   r"   Z_deprecation_warningr   r   r   r   r   r   <module>   s   	