
    vOg                         d dl mZ d dlmc 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mZ ddlmZ eZdd
Z G d deej                  ZdS )    )logN)chain   )sdist_add_defaults   )metadata)_ORIGINAL_SUBCOMMANDS c              #      K   t          j        d          D ]&} |                                |           D ]}|V  'dS )z%Find all files under revision controlzsetuptools.file_finders)groupN)r   entry_pointsload)dirnameepitems      R/var/www/AppWebDeiv/myenv/lib/python3.11/site-packages/setuptools/command/sdist.pywalk_revctrlr      s_      #*CDDD  BGGIIg&& 	 	DJJJJ	     c                        e Zd ZdZg dZi Zg dZ ed eD                       Zd Z	d Z
d Zd Zeej        d	                         Z fd
Z fdZd Zd Zd Zd Z fdZd Zd Zd Zd Z x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])zowner=uz@Owner name used when creating a tar file [default: current user])zgroup=gzAGroup name used when creating a tar file [default: current group])r
   z.rstz.txtz.mdc              #   @   K   | ]}d                      |          V  dS )z	README{0}N)format).0exts     r   	<genexpr>zsdist.<genexpr>-   s0      IIK&&s++IIIIIIr   c                    |                      d           |                     d          }|j        | _        | j                            t          j                            |j        d                     |                                  | 	                                D ]}|                      |           | 
                                 t          | j        dg           }| j        D ] }dd|f}||vr|                    |           !d S )Negg_infozSOURCES.txt
dist_filesr   r
   )run_commandget_finalized_commandfilelistappendospathjoinr!   check_readmeget_sub_commandsmake_distributiongetattrdistributionarchive_files)selfei_cmdcmd_namer"   filedatas         r   runz	sdist.run/   s   $$$++J77RW\\&/=IIJJJ --// 	' 	'HX&&&&   T.bAA
& 	( 	(DR&D:%%!!$'''	( 	(r   c                 l    t           j                            |            |                                  d S N)origr   initialize_options_default_to_gztarr0   s    r   r9   zsdist.initialize_optionsB   s0    
%%d+++     r   c                 :    t           j        dk    rd S dg| _        d S )N)      r   betar   gztar)sysversion_infoformatsr;   s    r   r:   zsdist._default_to_gztarG   s#    333Fyr   c                     |                                  5  t          j                            |            ddd           dS # 1 swxY w Y   dS )z%
        Workaround for #516
        N)_remove_os_linkr8   r   r,   r;   s    r   r,   zsdist.make_distributionM   s     !!## 	/ 	/J((...	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/s    AA	Ac               #     K    G d d          } t          t          d|           }	 t          `n# t          $ r Y nw xY w	 dV  || urt	          t          d|           dS dS # || urt	          t          d|           w w xY w)zG
        In a context, remove and restore os.link if it exists
        c                       e Zd ZdS )&sdist._remove_os_link.<locals>.NoValueN)__name__
__module____qualname__ r   r   NoValuerH   [   s        Dr   rM   linkN)r-   r'   rN   	Exceptionsetattr)rM   orig_vals     r   rE   zsdist._remove_os_linkT   s      	 	 	 	 	 	 	 	 2vw//	 	 	 	D		.EEEw&&FH----- '&xw&&FH---- 's   / 
<< A" "A?c                 p    t                                                       |                                  d S r7   )superadd_defaults _add_defaults_build_sub_commandsr0   	__class__s    r   rT   zsdist.add_defaultsi   s1    --/////r   c                     t                                                       t          j                            d          r| j                            d           d S d S )Nzpyproject.toml)rS   _add_defaults_optionalr'   r(   isfiler%   r&   rV   s    r   rY   zsdist._add_defaults_optionalm   sW    &&(((7>>*++ 	3M  !122222	3 	3r   c                    | j                                         rk|                     d          }| j                            |                                           |                     |                     |                     dS dS )zgetting python filesbuild_pyN)r.   has_pure_modulesr$   r%   extendget_source_files_add_data_files_safe_data_filesr0   r\   s     r   _add_defaults_pythonzsdist._add_defaults_pythonr   s    --// 	B11*==HM  !:!:!<!<===  !6!6x!@!@AAAAA	B 	Br   c                                           d          }t          |                                          t          z
  } fd|D             }d |D             } j                            t          j        |                     d S )Nbuildc              3   B   K   | ]}                     |          V  d S r7   )r$   )r   cr0   s     r   r   z9sdist._add_defaults_build_sub_commands.<locals>.<genexpr>}   s1      DD!**1--DDDDDDr   c              3   ^   K   | ](}t          |d           |                                V  )dS )r_   N)hasattrr_   )r   rg   s     r   r   z9sdist._add_defaults_build_sub_commands.<locals>.<genexpr>~   s>      VV!wqBT7U7UV##%%VVVVVVr   )r$   setr+   r	   r%   r^   r   from_iterable)r0   re   missing_cmdscmdsfiless   `    r   rU   z&sdist._add_defaults_build_sub_commandsy   s    **73351133447LLDDDD|DDDVVtVVVU07788888r   c                     |j         S )a  
        Since the ``sdist`` class is also used to compute the MANIFEST
        (via :obj:`setuptools.command.egg_info.manifest_maker`),
        there might be recursion problems when trying to obtain the list of
        data_files and ``include_package_data=True`` (which in turn depends on
        the files included in the MANIFEST).

        To avoid that, ``manifest_maker`` should be able to overwrite this
        method and avoid recursive attempts to build/analyze the MANIFEST.
        )
data_filesrb   s     r   ra   zsdist._safe_data_files   s     ""r   c                 N    | j                             d |D                        dS )zA
        Add data files as found in build_py.data_files.
        c              3   j   K   | ].\  }}}}|D ]$}t           j                            ||          V  %/d S r7   )r'   r(   r)   )r   _src_dir	filenamesnames        r   r   z(sdist._add_data_files.<locals>.<genexpr>   se       
 
(7Ay!
 
  GLL$''
 
 
 
 
 
 
r   N)r%   r^   )r0   rp   s     r   r`   zsdist._add_data_files   sD     	 
 
,6
 
 
 	
 	
 	
 	
 	
r   c                     	 t                                                       d S # t          $ r t          j        d           Y d S w xY w)Nz&data_files contains unexpected objects)rS   _add_defaults_data_files	TypeErrorr   warnrV   s    r   rx   zsdist._add_defaults_data_files   sY    	?GG,,..... 	? 	? 	?H=>>>>>>	?s    % AAc                     | j         D ]$}t          j                            |          r d S %|                     dd                    | j                   z              d S )Nz,standard file not found: should have one of z, )READMESr'   r(   existsrz   r)   )r0   fs     r   r*   zsdist.check_readme   sp     	 	Aw~~a    II>		$,''(    r   c                    t           j                            | ||           t          j                            |d          }t          t          d          rIt          j                            |          r*t          j        |           | 	                    d|           | 
                    d                              |           d S )Nz	setup.cfgrN   r!   )r8   r   make_release_treer'   r(   r)   ri   r}   unlink	copy_filer$   save_version_info)r0   base_dirrn   dests       r   r   zsdist.make_release_tree   s    
$$T8U;;; w||Hk222v 	.27>>$#7#7 	. IdOOONN;---"":..@@FFFFFr   c                 
   t           j                            | j                  sdS t	          j        | j        d          5 }|                                }d d d            n# 1 swxY w Y   |d                                k    S )NFrbz+# file GENERATED by distutils, do NOT edit
)r'   r(   rZ   manifestioopenreadlineencode)r0   fp
first_lines      r   _manifest_is_not_generatedz sdist._manifest_is_not_generated   s    w~~dm,, 	5WT]D)) 	'RJ	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	'>EEGGH 	Is   A""A&)A&c                    t          j        d| j                   t          | j        d          }|D ]}	 |                    d          }n'# t
          $ r t          j        d|z             Y <w xY w|                                }|                    d          s|sl| j	        
                    |           |                                 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'r   zUTF-8z"%r not UTF-8 decodable -- skipping#N)r   infor   r   decodeUnicodeDecodeErrorrz   strip
startswithr%   r&   close)r0   r   lines      r   read_manifestzsdist.read_manifest   s    
 	-t}===t,, 	' 	'D{{7++%   =DEEE ::<<Ds## 4 M  &&&&s   A!A/.A/)rI   rJ   rK   __doc__user_optionsnegative_optREADME_EXTENSIONStupler|   r5   r9   r:   r,   staticmethod
contextlibcontextmanagerrE   rT   rY   rc   rU   ra   r`   rx   r*   r   r   r   __classcell__)rW   s   @r   r   r      s       GG  L L333eII7HIIIIIG( ( (&! ! !
! ! !/ / / . .  \.&0 0 0 0 03 3 3 3 3
B B B9 9 9# # #
 
 
? ? ? ? ?  G G GI I I      r   r   )r
   )	distutilsr   distutils.command.sdistcommandr   r8   r'   rA   r   r   	itertoolsr   
py36compatr   
_importlibr   re   r	   list_default_revctrlr   rL   r   r   <module>r      s          & & & & & & & & & 				 



 				           * * * * * * ! ! ! ! ! ! ( ( ( ( ( (    z z z z z
 z z z z zr   