o
    Mf                     @   s   d Z ddlZddlZddlZddl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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rze   dS dS )zHCheck a project and backend by attempting to build using PEP 517 hooks.
    N)isfilejoin)CalledProcessError)mkdtemp   )enable_colourful_output)TOMLDecodeError	toml_load)BuildEnvironment)Pep517HookCallerc              
   C   @  t  }z|| td W n ty&   td Y W d    dS w z| i }td| W n tyK   tjddd Y W d    dS w z|| td W n tym   td	 Y W d    dS w t }td
| zz| 	|i }td| W n ty   tjddd Y W t
| W d    dS w |dstd| W t
| W d    dS t||}t|rtd| ntd| W t
| W d    dS t|rtd ntd W t
| W d    dS W t
| nt
| w 	 W d    dS 1 sw   Y  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   errorget_requires_for_build_sdist	Exceptionr   build_sdistshutilrmtreeendswithpjoinr   tarfile
is_tarfilehooksbuild_sys_requiresenvreqstdfilenamepath r,   Z/var/www/html/analyze/labelStudio/lib/python3.10/site-packages/pip/_vendor/pep517/check.pycheck_build_sdist   sz   









%
	
,

-&r.   c              
   C   r   )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   get_requires_for_build_wheelr   r   build_wheelr   r   r    r!   r   zipfile
is_zipfiler$   r,   r,   r-   check_build_wheelP   sv   









$
	
+

,&r3   c              	   C   s   t | d}t|rtd ntd dS z2t|d}t|}W d    n1 s,w   Y  |d }|d }|d }|d	}td
 W n t	t
fy[   tjddd Y dS w t| ||}t||}	t||}
|	sstd |
sztd |	S )Nzpyproject.tomlzFound pyproject.tomlzMissing pyproject.tomlFrbz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   ioopenr	   getr   KeyErrorr   r.   r3   warning)
source_dir	pyprojectfpyproject_databuildsysr5   backendbackend_pathr%   sdist_okwheel_okr,   r,   r-   check   s4   







rD   c                 C   sl   t d t }|jddd || }t  t|j}|r(t	t
dd d S t	t
dd td	 d S )
NzQpep517.check is deprecated. Consider switching to https://pypi.org/project/build/r;   z%A directory containing pyproject.toml)helpzChecks passedgreenzChecks failedredr   )r   r:   argparseArgumentParseradd_argument
parse_argsr   rD   r;   printansisysexit)argvapargsokr,   r,   r-   main   s   


rT   z[0mz[1mz[31mz[32m)resetboldrG   rF   c                 C   s4   t jdkrtj rt| t|  td  S t| S )NntrU   )osnamerN   stdoutisatty
ansi_codesstr)sattrr,   r,   r-   rM      s   rM   __main__)N)#__doc__rH   r6   loggingrX   os.pathr   r   r!   r   
subprocessr   rN   r"   tempfiler   r1   colorlogr   compatr   r	   envbuildr
   wrappersr   	getLogger__name__r   r.   r3   rD   rT   r\   rM   r,   r,   r,   r-   <module>   s<    
98
"
