K iddlmZddlZddlZddlZddlmZddlmZddl m Z ddl m Z dd l mZddlmcmZdd lmZeZdd ZGd d ej"Zy)) annotationsN)chain)ClassVar)metadata) Distribution)_ORIGINAL_SUBCOMMANDS)logc#KtjdD] }|j|Ed{"y7w)z%Find all files under revision controlzsetuptools.file_finders)groupN)r entry_pointsload)dirnameeps ^/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/setuptools/command/sdist.py walk_revctrlrs:##*CD&2779W%%%&%s 3?=?ceZdZUdZgdZded<iZded<gdZedeDZ dd Z dd Z dd Z e ejd Zdfd ZfdZdZdZdZdZfdZdfd ZddZddZdZdZxZS)sdistz=Smart sdist that finds anything supported by revision control))zformats=Nz6formats for source distribution (comma-separated list))z keep-tempkz@keep the distribution tree around after creating archive file(s))z dist-dir=dzFdirectory to put the source distribution archive(s) in [default: dist])zowner=uz@Owner name used when creating a tar file [default: current user])zgroup=gzAGroup name used when creating a tar file [default: current group]r distributionzClassVar[dict[str, str]] negative_opt)z.rstz.txtz.mdc#&K|] }d| yw)READMEN).0exts r zsdist.8s@sfSEN@sc|jd|jd}|j|_|jjtj j |jd|j|jD]}|j||jt|jdg}|jD]}dd|f}||vs |j|y)Negg_infoz SOURCES.txt dist_filesrr) run_commandget_finalized_commandfilelistappendospathjoinr$ check_readmeget_sub_commandsmake_distributiongetattrr archive_files)selfei_cmdcmd_namer%filedatas rrunz sdist.run:s $++J7  RWW\\&//=IJ --/ 'H   X & '  T.. bA && (DR&D:%!!$' (cBtjj|yN)origrinitialize_optionsr2s rr<zsdist.initialize_optionsMs %%d+r8c|j5tjj|dddy#1swYyxYw)z% Workaround for #516 N)_remove_os_linkr;rr/r=s rr/zsdist.make_distributionPs7 ! ! # / JJ ( ( . / / /s :Ac#KGdd}ttd|} t` d||ur |t_yy#t$rY!wxYw#||ur |t_wwxYww)zG In a context, remove and restore os.link if it exists c eZdZy)&sdist._remove_os_link..NoValueN)__name__ __module__ __qualname__rr8rNoValuerB^s r8rFlinkN)r0r*rG Exception)rForig_vals rr?zsdist._remove_os_linkWsp  2vw/  # w&"'     w&"'s6A;A A AAAA AAcBt||jyr:)super add_defaults _add_defaults_build_sub_commandsr2 __class__s rrLzsdist.add_defaultsls  --/r8ct|tjj dr|j j dyy)Nzpyproject.toml)rK_add_defaults_optionalr*r+isfiler(r)rNs rrQzsdist._add_defaults_optionalps7 &( 77>>* + MM !1 2 ,r8c|jjr[|jd}|jj |j |j |j|yy)zgetting python filesbuild_pyN)rhas_pure_modulesr'r(extendget_source_files_add_data_files_safe_data_filesr2rTs r_add_defaults_pythonzsdist._add_defaults_pythonus]    - - /11*=H MM !:!:!< =  !6!6x!@ A 0r8cjd}t|jtz }fd|D}d|D}jj t j|y)Nbuildc3@K|]}j|ywr:)r')r cr2s rr"z9sdist._add_defaults_build_sub_commands..sD!**1-Dsc3VK|]!}t|ds|j#yw)rWN)hasattrrW)r r_s rr"z9sdist._add_defaults_build_sub_commands..s#V!wqBT7U##%Vs)))r'setr.r r(rVr from_iterable)r2r] missing_cmdscmdsfiless` rrMz&sdist._add_defaults_build_sub_commands|s]**73511347LL D|DVtV U0078r8c|jS)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_filesrZs rrYzsdist._safe_data_filess"""r8cH|jjd|Dy)zA Add data files as found in build_py.data_files. c3tK|]0\}}}}|D]$}tjj||&2ywr:)r*r+r,)r _src_dir filenamesnames rr"z(sdist._add_data_files..sD (7Ay!  GGLL$ ' ' s68N)r(rV)r2rhs rrXzsdist._add_data_filess#  ,6  r8cl t|y#t$rtjdYywxYw)Nz&data_files contains unexpected objects)rK_add_defaults_data_files TypeErrorr warnrNs rrpzsdist._add_defaults_data_filess/ ? G , . ? HH= > ?s 33ct|tjtj }|j jd|zdy)Nz^(\.tox|\.nox|\.venv)T)is_regex)rKprune_file_listreescaper*sepr(exclude_pattern)r2rxrOs rruzsdist.prune_file_lists= !ii %%&>&Dt%Tr8c|jD]#}tjj|s#y|j ddj |jzy)Nz,standard file not found: should have one of z, )READMESr*r+existsrrr,)r2fs rr-zsdist.check_readmesK Aww~~a   II>4<>$#7 IIdO NN; - "":.@@Fr8ctjj|jsyt |jd5}|j }ddd|dk7S#1swYdk7SxYw)NFrbs+# file GENERATED by distutils, do NOT edit )r*r+rRmanifestopenreadline)r2fp first_lines r_manifest_is_not_generatedz sdist._manifest_is_not_generateds\ww~~dmm, $-- & '"J 'LLL 'LLLs AA,ctjd|jt|jd}|D]S} |j d}|j}|jds|s9|jj|U|jy#t $rtj dYwxYw)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. zreading manifest file '%s'rzUTF-8z not UTF-8 decodable -- skipping#N) r inforrdecodeUnicodeDecodeErrorrrstrip startswithr(r)close)r2r bytes_linelines r read_manifestzsdist.read_manifests -t}}= t," 'J !((1 ::rsF" !(&&& @DJJ@r8