£Á°è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
    Qab                     @   s   d dl mZ d dlm  mZ d dlZd dlZd dlZd dl	Z	d dl
mZ ddlmZ d dlZeZdddZG d	d
 d
eejZdS )    )logN)six   )sdist_add_defaults c                 c   s,   t dD ]}| | D ]
}|V  qq
dS )z%Find all files under revision controlzsetuptools.file_findersN)pkg_resourcesZiter_entry_pointsload)dirnameZepitem r   </usr/lib/python3.8/site-packages/setuptools/command/sdist.pywalk_revctrl   s    r   c                       s   e Zd ZdZdddgZi ZddddgZed	d
 eD Zdd Z	dd Z
dd Zdd Zeejdd Zdd Zejdk pdej  kodk n  pdej  kodk n  ZereZdd Z fddZd d! Zd"d# Zd$d% Zd&d' Zd(d) Z  ZS )*sdistz=Smart sdist that finds anything supported by revision control)zformats=Nz6formats for source distribution (comma-separated list))z	keep-tempkz@keep the distribution tree around after creating archive file(s))z	dist-dir=dzFdirectory to put the source distribution archive(s) in [default: dist]r   z.rstz.txtz.mdc                 c   s   | ]}d  |V  qdS )z	README{0}N)format).0Zextr   r   r   	<genexpr>)   s     zsdist.<genexpr>c                 C   s   |  d | d}|j| _| jtj|jd |   | 	 D ]}|  | qD| 
  t| jdg }| jD ] }dd|f}||krp|| qpd S )Negg_infozSOURCES.txt
dist_filesr   r   )Zrun_commandget_finalized_commandfilelistappendospathjoinr   check_readmeZget_sub_commandsmake_distributiongetattrdistributionZarchive_files)selfZei_cmdZcmd_namer   filedatar   r   r   run+   s    



z	sdist.runc                 C   s   t j|  |   d S )N)origr   initialize_options_default_to_gztarr    r   r   r   r%   >   s    zsdist.initialize_optionsc                 C   s   t jdkrd S dg| _d S )N)      r   Zbetar   Zgztar)sysversion_infoZformatsr'   r   r   r   r&   C   s    
zsdist._default_to_gztarc              	   C   s$   |    tj|  W 5 Q R X dS )z%
        Workaround for #516
        N)_remove_os_linkr$   r   r   r'   r   r   r   r   I   s    
zsdist.make_distributionc               
   c   s^   G dd d} t td| }zt`W n tk
r6   Y nX z
dV  W 5 || k	rXttd| X dS )zG
        In a context, remove and restore os.link if it exists
        c                   @   s   e Zd ZdS )z&sdist._remove_os_link.<locals>.NoValueN)__name__
__module____qualname__r   r   r   r   NoValueW   s   r0   linkN)r   r   r1   	Exceptionsetattr)r0   Zorig_valr   r   r   r,   P   s    
zsdist._remove_os_linkc                 C   sL   zt j|  W n6 tk
rF   t \}}}|jjjd 	   Y nX d S )Ntemplate)
r$   r   read_templater2   r*   exc_infotb_nexttb_framef_localsclose)r    _tbr   r   r   Z__read_template_hacke   s    zsdist.__read_template_hack)      r=   )r(   r   )r(   r      )r(   r=   )r(   r=   r   c                    s^   | j  rZ| d}| j|  | j jsZ|jD ]&\} }}| j fdd|D  q2dS )zgetting python filesbuild_pyc                    s   g | ]}t j |qS r   )r   r   r   )r   filenameZsrc_dirr   r   
<listcomp>   s   z.sdist._add_defaults_python.<locals>.<listcomp>N)r   Zhas_pure_modulesr   r   extendZget_source_filesZinclude_package_dataZ
data_files)r    r@   r;   	filenamesr   rB   r   _add_defaults_python|   s    

zsdist._add_defaults_pythonc                    sD   z t jrt|  n
t   W n tk
r>   td Y nX d S )Nz&data_files contains unexpected objects)r   ZPY2r   _add_defaults_data_filessuper	TypeErrorr   warnr'   	__class__r   r   rG      s    zsdist._add_defaults_data_filesc                 C   s8   | j D ]}tj|r d S q| dd| j   d S )Nz,standard file not found: should have one of z, )READMESr   r   existsrJ   r   )r    fr   r   r   r      s    

zsdist.check_readmec                 C   s^   t j| || tj|d}ttdrJtj|rJt| | 	d| | 
d| d S )Nz	setup.cfgr1   r   )r$   r   make_release_treer   r   r   hasattrrN   unlinkZ	copy_filer   Zsave_version_info)r    Zbase_dirfilesdestr   r   r   rP      s    
zsdist.make_release_treec              	   C   s@   t j| jsdS t| jd}| }W 5 Q R X |d kS )NFrbz+# file GENERATED by distutils, do NOT edit
)r   r   isfilemanifestioopenreadlineencode)r    fpZ
first_liner   r   r   _manifest_is_not_generated   s    z sdist._manifest_is_not_generatedc              	   C   s   t d| j t| jd}|D ]d}tjr^z|d}W n& tk
r\   t d|  Y qY nX |	 }|
ds|svq| j| q|  dS )zRead the manifest file (named by 'self.manifest') and use it to
        fill in 'self.filelist', the list of files to include in the source
        distribution.
        zreading manifest file '%s'rU   zUTF-8z"%r not UTF-8 decodable -- skipping#N)r   inforW   rY   r   ZPY3decodeUnicodeDecodeErrorrJ   strip
startswithr   r   r:   )r    rW   liner   r   r   read_manifest   s    
zsdist.read_manifestc                 C   s^   | j d}|dd\}}|dkr2td dS tj|sNtd| dS | j	
| dS )zyChecks if license_file' is configured and adds it to
        'self.filelist' if the value contains a valid path.
        Zmetadatalicense_file)NNNz''license_file' option was not specifiedz8warning: Failed to find the configured license file '%s')r   Zget_option_dictgetr   debugr   r   rN   rJ   r   r   )r    Zoptsr;   rf   r   r   r   check_license   s    
zsdist.check_license)r-   r.   r/   __doc__Zuser_optionsZnegative_optZREADME_EXTENSIONStuplerM   r#   r%   r&   r   staticmethod
contextlibcontextmanagerr,   Z_sdist__read_template_hackr*   r+   Zhas_leaky_handler5   rF   rG   r   rP   r]   re   ri   __classcell__r   r   rK   r   r      s<   
	

r   )r   )Z	distutilsr   Zdistutils.command.sdistZcommandr   r$   r   r*   rX   rm   Zsetuptools.externr   Z
py36compatr   r   listZ_default_revctrlr   r   r   r   r   <module>   s   
