£Á°èZ¨Ä…–K§‚«“ô4“ÒÙ´dîfUÙÃÅ WKbyÊ¦•êŽ…È®FÒ¿ÊÎóCozá¬S@6{Í:›œêZÌ:Š•_%:¢¾¾~;‘Ã~èŠ©ÊÇí`ÔÑ©úë™µ'5I¿fš×WO%ø9¾«¾DK|€ùÍD”Ýs]nHÕ¶ê×Ó¼ãžªéUWŸÈË%DÒÕ¬ï‘]/Åcx  ‰ï2ß]ä6G[]S£ÔÏ¯rs{úëóµmÒï#UQxo·õÞCe]"±/aÙ&Eã4ú9Jé_ÞåëdãöKë)AÞ                  ¯¹ægƒÛowÐø^d™ý½ßB7áyMä9ÜÖUã
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
<html>
U
    .e=                     @   s   d Z ddlZddlZddlZddlmZmZ ddlm	Z	m
Z ddlZddlmZ ddlZddlZddlmZ ddlZddlmZ dd	lmZ dd
lmZ eeZdd Zdd Zdd ZdddZ dddddZ!dd Z"edkre   dS )zHCheck a project and backend by attempting to build using PEP 517 hooks.
    N)isfilejoin)TomlDecodeErrorload)CalledProcessError)mkdtemp   )enable_colourful_output)BuildEnvironment)Pep517HookCallerc              
   C   s  t  }z|| td W n* tk
rL   td Y W 5 Q R  dS X z| i }td| W n. tk
r   tjddd Y W 5 Q R  dS X z|| td W n* tk
r   td	 Y W 5 Q R  dS X t }td
| zz| |i }td| W n4 tk
r@   tjddd Y W W 5 Q R  dS X |dsltd| W W 5 Q R  dS t||}t|rtd| ntd| W FW 5 Q R  dS t|rtd ntd W W 5 Q R  dS W 5 t	
| X W 5 Q R  dS Q R X d S )N#Installed static build dependencies+Failed to install static build dependenciesFGot build requires: %s'Failure in get_requires_for_build_sdistTexc_info$Installed dynamic build dependencies,Failed to install dynamic build dependencieszTrying to build sdist in %szbuild_sdist returned %rzFailure in build_sdistz.tar.gzz*Filename %s doesn't have .tar.gz extensionOutput file %s existsOutput file %s does not existzOutput file is a tar filezOutput file is not a tar file)r
   pip_installloginfor   errorZget_requires_for_build_sdist	Exceptionr   shutilrmtreeZbuild_sdistendswithpjoinr   tarfileZ
is_tarfilehooksZbuild_sys_requiresenvZreqsZtdfilenamepath r%   </usr/lib/python3.8/site-packages/pip/_vendor/pep517/check.pycheck_build_sdist   sZ    





 


r'   c              
   C   s  t  }z|| td W n* tk
rL   td Y W 5 Q R  dS X z| i }td| W n. tk
r   tjddd Y W 5 Q R  dS X z|| td W n* tk
r   td	 Y W 5 Q R  dS X t }td
| zz| |i }td| W n4 tk
r@   tjddd Y W W 5 Q R  dS X |dsltd| W W 5 Q R  dS t||}t|rtd| ntd| W FW 5 Q R  dS t|rtd ntd W W 5 Q R  dS W 5 t	
| X W 5 Q R  dS Q R X d S )Nr   r   Fr   r   Tr   r   r   zTrying to build wheel in %szbuild_wheel returned %rzFailure in build_wheelz.whlz'Filename %s doesn't have .whl extensionr   r   zOutput file is a zip filezOutput file is not a zip file)r
   r   r   r   r   r   Zget_requires_for_build_wheelr   r   r   r   Zbuild_wheelr   r   r   zipfileZ
is_zipfiler    r%   r%   r&   check_build_wheelO   sT    








r)   c              	   C   s   t | d}t|rtd ntd dS zLt|}t|}W 5 Q R X |d }|d }|d }|d}td	 W n( tt	fk
r   tjd
dd Y dS X t
| ||}t||}	t||}
|	std |
std |	S )Nzpyproject.tomlzFound pyproject.tomlzMissing pyproject.tomlFzbuild-systemrequireszbuild-backendzbackend-pathzLoaded pyproject.tomlzInvalid pyproject.tomlTr   z%Sdist checks failed; scroll up to seezWheel checks failed)r   r   r   r   r   open	toml_loadgetr   KeyErrorr   r'   r)   Zwarning)
source_dirZ	pyprojectfZpyproject_dataZbuildsysr*   ZbackendZbackend_pathr!   Zsdist_okZwheel_okr%   r%   r&   check   s0    







r1   c                 C   s`   t  }|jddd || }t  t|j}|rDttdd nttdd t	
d d S )	Nr/   z%A directory containing pyproject.toml)helpzChecks passedgreenzChecks failedredr   )argparseArgumentParseradd_argument
parse_argsr	   r1   r/   printansisysexit)argvZapargsokr%   r%   r&   main   s    

r@   z[0mz[1mz[31mz[32m)resetZboldr4   r3   c                 C   s8   t jdkr,tj r,t| t|  td  S t| S d S )NntrA   )osnamer;   stdoutisatty
ansi_codesstr)sattrr%   r%   r&   r:      s    r:   __main__)N)#__doc__r5   ZloggingrC   Zos.pathr   r   r   Ztomlr   r   r,   r   
subprocessr   r;   r   Ztempfiler   r(   Zcolorlogr	   Zenvbuildr
   Zwrappersr   Z	getLogger__name__r   r'   r)   r1   r@   rG   r:   r%   r%   r%   r&   <module>   s6   
98"
