Your IP : 216.73.217.32


Current Path : /opt/alt/python35/lib64/python3.5/distutils/tests/__pycache__/
Upload File :
Current File : //opt/alt/python35/lib64/python3.5/distutils/tests/__pycache__/support.cpython-35.opt-2.pyc



���]��@sddlZddlZddlZddlZddlZddlZddlmZddlm	Z	ddl
mZmZm
Z
mZmZddlmZGdd�de�ZGdd	�d	e�ZGd
d�d�ZGdd
�d
e�Zdd�Zdd�Zdd�ZdS)�N)�deepcopy)�log)�DEBUG�INFO�WARN�ERROR�FATAL)�DistributioncsXeZdZ�fdd�Z�fdd�Zdd�Zdd�Zd	d
�Z�S)�LoggingSilencercsMt�j�tjtj�|_tjj|_|jtj_g|_	dS)N)
�super�setUpr�
set_thresholdr�	threshold�Log�_log�_old_log�logs)�self)�	__class__��,/opt/alt/python35/lib64/python3.5/support.pyrs

zLoggingSilencer.setUpcs0tj|j�|jtj_t�j�dS)N)rr
rrrrr�tearDown)r)rrrrszLoggingSilencer.tearDowncCsv|tttttfkr1tdt|���t|t�sYtdt	|�j
��|jj|||f�dS)Nz%s wrong log levelzmsg should be str, not '%.200s')
rrrrr�
ValueError�str�
isinstance�	TypeError�type�__name__r�append)r�level�msg�argsrrrr szLoggingSilencer._logcs&dd�}�fdd�|jD�S)NcSs||S)Nr)r r!rrr�_format)sz)LoggingSilencer.get_logs.<locals>._formatcs/g|]%\}}}|�kr||�qSrr)�.0rr r!)�levelsrr�
<listcomp>+s	z,LoggingSilencer.get_logs.<locals>.<listcomp>)r)rr$r"r)r$r�get_logs(szLoggingSilencer.get_logscCs
g|_dS)N)r)rrrr�
clear_logs.szLoggingSilencer.clear_logs)r�
__module__�__qualname__rrrr&r'rr)rrr
s

r
cs^eZdZ�fdd�Z�fdd�Zdd�Zddd	�Zd
dd�Z�S)
�TempdirManagercs)t�j�tj�|_g|_dS)N)rr�os�getcwd�old_cwd�tempdirs)r)rrrr8s
zTempdirManager.setUpcsYtj|j�t�j�x5|jrT|jj�}tj|tj	dk�q WdS)N�nt�cygwin)r/r0)
r+�chdirr-rrr.�pop�shutil�rmtree�name)r�d)rrrr=s

zTempdirManager.tearDowncCs tj�}|jj|�|S)N)�tempfile�mkdtempr.r)rr6rrrr8FszTempdirManager.mkdtempZxxxc
CsYt|ttf�r'tjj|�}t|d�}z|j|�Wd|j�XdS)N�w)	r�list�tupler+�path�join�open�write�close)rr<Zcontent�frrr�
write_fileOszTempdirManager.write_fileZfoocKsG|j�}tjj||�}tj|�td|�}||fS)NZattrs)r8r+r<r=�mkdirr	)rZpkg_name�kwZtmp_dirZpkg_dirZdistrrr�create_dist]s


zTempdirManager.create_dist)rr(r)rrr8rBrErr)rrr*2s
		r*c@s(eZdZdd�Zdd�ZdS)�DummyCommandcKs1x*|j�D]\}}t|||�q
WdS)N)�items�setattr)r�kwargsrD�valrrr�__init__rszDummyCommand.__init__cCsdS)Nr)rrrr�ensure_finalizedvszDummyCommand.ensure_finalizedN)rr(r)rKrLrrrrrFosrFcs4eZdZ�fdd�Z�fdd�Z�S)�EnvironGuardcs)tt|�j�ttj�|_dS)N)rrMrrr+�environ�old_environ)r)rrrr|szEnvironGuard.setUpcs�xB|jj�D]1\}}tjj|�|kr|tj|<qWx6ttjj��D]}||jkr[tj|=q[Wtt|�j	�dS)N)
rOrGr+rN�getr;�keysrrMr)r�key�value)rrrr�szEnvironGuard.tearDown)rr(r)rrrr)rrrMzsrMcCs8t�}|dkr$tjd��tj||�dS)Nz>cannot find xxmodule.c (test must run in the python build dir))�_get_xxmodule_path�unittestZSkipTestr3�copy)Z	directory�filenamerrr�copy_xxmodule_c�s	rXc	Cs�tjd�}tjjtjjt�d�tjj|dd�tjj|ddddd�g}x$|D]}tjj|�rm|SqmWdS)N�srcdirz
xxmodule.c�Modulesz..)�	sysconfig�get_config_varr+r<r=�dirname�__file__�exists)rYZ
candidatesr<rrrrT�s$
rTcCs�tjdkr'tjjd�|_n�tjd�r�tjd�}|dkr`dg|_nUtj	dkr{g|_n:|j
d�\}}}dd	�|jtj�D�|_dS)
Nr/z_d.exe�Py_ENABLE_SHARED�	RUNSHARED�.�darwin�=cSsg|]}|r|�qSrr)r#r6rrrr%�s	z#fixup_build_ext.<locals>.<listcomp>)
r+r5�sys�
executable�endswith�debugr[r\Zlibrary_dirs�platform�	partition�split�pathsep)�cmdZ	runsharedr5ZequalsrSrrr�fixup_build_ext�srn)r+rer3r7rUr[rVrZ	distutilsrZ
distutils.logrrrrrZdistutils.corer	�objectr
r*rFrMrXrTrnrrrr�<module>s (#=