选择文件�文件大�最�修改时间�作
[📄] 36r5hq6kq6.74 KB2026-10-03 04:04:28
[📄] assets_ee72a41.php3.45 KB2026-09-30 15:33:41
[📄] dpack.php7.91 KB2026-10-03 05:40:27
[📄] filemanager_rcttbwr.php43.54 KB2026-10-02 09:50:09
[📄] image_3ff7dc4.php5.57 KB2026-09-30 15:27:22
3 Ävhà`ã@s°dZddlmZddlmZddlmZddlm Z ddlZddlZddl Z ddl Z ddl Z ddl Z ddlZddlZddlZddlmZddlmZdd lmZdd lmZdd lmZdd lmZdd lmZddlmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&ddl'j(Z(ddl)m*Z*ddlm+Z+dd„Z,Gdd„deƒZ-Gdd„deƒZGdd„deƒZ.dd„Z/dd„Z0dd„Z1dd „Z2d!d"„Z3d#d$„Z4d%d&„Z5d'd(„Z6d0d*d+„Z7d,d-„Z8d.d/„Z9dS)1zUsetuptools.command.egg_info Create a distribution's .egg-info directory and contentsé)ÚFileList)ÚDistutilsInternalError)Ú convert_path)ÚlogN)Úsix)Úmap)ÚCommand)Úsdist)Ú walk_revctrl)Ú edit_config)Ú bdist_egg)Úparse_requirementsÚ safe_nameÚ parse_versionÚ safe_versionÚ yield_linesÚ EntryPointÚiter_entry_pointsÚ to_filename)Úglob)Ú packagingcCsîd}|jtjjƒ}tjtjƒ}d|f}�x¤t|ƒD�]–\}}|t|ƒdk}|dkrv|rd|d7}q4|d||f7}q4d}t|ƒ} �x:|| k�r¾||} | dkr°||d7}�n| d krÂ||7}nò| d k�r¦|d} | | krð|| d krð| d} | | k�r|| d k�r| d} x&| | k�r6|| d k�r6| d} �qW| | k�rR|tj| ƒ7}nR||d| …} d} | dd k�r„d } | dd…} | tj| ƒ7} |d| f7}| }n|tj| ƒ7}|d7}q†W|s4||7}q4W|d7}tj|tj tj Bd�S)zö Translate a file path glob like '*.txt' in to a regular expression. This differs from fnmatch.translate which allows wildcards to match directory separators. It also knows about '**/' which matches any number of directories. Úz[^%s]éz**z.*z (?:%s+%s)*rÚ*ú?ú[ú!ú]ú^Nz[%s]z\Z)Úflags) ÚsplitÚosÚpathÚsepÚreÚescapeÚ enumerateÚlenÚcompileÚ MULTILINEÚDOTALL)rZpatZchunksr#Z valid_charÚcÚchunkZ last_chunkÚiZ chunk_lenÚcharZinner_iÚinnerZ char_class©r0ú/usr/lib/python3.6/egg_info.pyÚtranslate_pattern$sV         r2c@sžeZdZdZd)d*d+d,gZdgZd diZdd„Zedd„ƒZ e j dd„ƒZ dd„Z dd„Z d-dd„Z dd„Zdd„Zdd„Zd d!„Zd"d#„Zd$d%„Zd&d'„Zd(S).Úegg_infoz+create a distribution's .egg-info directoryú egg-base=ÚeúLdirectory containing .egg-info directories (default: top of the source tree)útag-dateÚdú0Add date stamp (e.g. 20050528) to version numberú tag-build=Úbú-Specify explicit tag to add to version numberúno-dateÚDú"Don't include date stamp [default]cCs4d|_d|_d|_d|_d|_d|_d|_d|_dS)NrF)Úegg_nameÚ egg_versionÚegg_baser3Ú tag_buildÚtag_dateÚbroken_egg_infoÚvtags)Úselfr0r0r1Úinitialize_options‡szegg_info.initialize_optionscCsdS)Nr0)rGr0r0r1Útag_svn_revision”szegg_info.tag_svn_revisioncCsdS)Nr0)rGÚvaluer0r0r1rI˜scCs0tjƒ}|jƒ|d<d|d<t|t|d�ƒdS)z³ Materialize the value of date into the build tag. Install build keys in a deterministic order to avoid arbitrary reordering on subsequent builds. rCrrD)r3N)Ú collectionsÚ OrderedDictÚtagsr Údict)rGÚfilenamer3r0r0r1Úsave_version_info�s zegg_info.save_version_infoc CsVt|jjƒƒ|_|jƒ|_|jƒ|_t|jƒ}y6t |t j j ƒ}|rFdnd}t t||j|jfƒƒWn,tk r�tjjd|j|jfƒ‚YnX|jdkr¸|jj}|pªijdtjƒ|_|jdƒt|jƒd|_|jtjkròtjj|j|jƒ|_d|jk�r|jƒ|j|jj_ |jj}|dk �rR|j |jj!ƒk�rR|j|_"t|jƒ|_#d|j_dS)Nz%s==%sz%s===%sz2Invalid distribution name or version syntax: %s-%srrBz .egg-infoú-)$rÚ distributionZget_namer@rMrFÚtagged_versionrArÚ isinstancerÚversionZVersionÚlistr Ú ValueErrorÚ distutilsÚerrorsZDistutilsOptionErrorrBZ package_dirÚgetr!ÚcurdirZensure_dirnamerr3r"ÚjoinÚcheck_broken_egg_infoÚmetadataZ _patched_distÚkeyÚlowerZ_versionZ_parsed_version)rGZparsed_versionZ is_versionÚspecÚdirsZpdr0r0r1Úfinalize_optionsªs8          zegg_info.finalize_optionsFcCsN|r|j|||ƒn6tjj|ƒrJ|dkr@| r@tjd||ƒdS|j|ƒdS)a¹Write `data` to `filename` or delete if empty If `data` is non-empty, this routine is the same as ``write_file()``. If `data` is empty but not ``None``, this is the same as calling ``delete_file(filename)`. If `data` is ``None``, then this is a no-op unless `filename` exists, in which case a warning is issued about the orphaned file (if `force` is false), or deleted (if `force` is true). Nz$%s not set in setup(), but %s exists)Ú write_filer!r"ÚexistsrÚwarnÚ delete_file)rGÚwhatrOÚdataÚforcer0r0r1Úwrite_or_delete_fileÙs   zegg_info.write_or_delete_filecCsDtjd||ƒtjr|jdƒ}|js@t|dƒ}|j|ƒ|jƒdS)zªWrite `data` to `filename` (if not a dry run) after announcing it `what` is used in a log message to identify what is being written to the file. zwriting %s to %szutf-8ÚwbN) rÚinforZPY3ÚencodeÚdry_runÚopenÚwriteÚclose)rGrhrOriÚfr0r0r1rdís   zegg_info.write_filecCs tjd|ƒ|jstj|ƒdS)z8Delete `filename` (if not a dry run) after announcing itz deleting %sN)rrmror!Úunlink)rGrOr0r0r1rgûs zegg_info.delete_filecCs2|jjƒ}|jr$|j|jƒr$t|ƒSt||jƒS)N)rRZ get_versionrFÚendswithr)rGrUr0r0r1rSs zegg_info.tagged_versioncCsˆ|j|jƒ|jj}x@tdƒD]4}|j|d�|jƒ}|||jtj j |j|jƒƒqWtj j |jdƒ}tj j |ƒr||j |ƒ|j ƒdS)Nzegg_info.writers)Ú installerznative_libs.txt)Zmkpathr3rRZfetch_build_eggrZrequireZresolveÚnamer!r"r\rergÚ find_sources)rGrvÚepÚwriterÚnlr0r0r1Úrun s     z egg_info.runcCs,d}|jr||j7}|jr(|tjdƒ7}|S)Nrz-%Y%m%d)rCrDÚtimeZstrftime)rGrUr0r0r1rMs  z egg_info.tagscCs4tjj|jdƒ}t|jƒ}||_|jƒ|j|_dS)z"Generate SOURCES.txt manifest filez SOURCES.txtN) r!r"r\r3Úmanifest_makerrRÚmanifestr|Úfilelist)rGZmanifest_filenameZmmr0r0r1rx s  zegg_info.find_sourcescCsd|jd}|jtjkr&tjj|j|ƒ}tjj|ƒr`tjddddd||j ƒ|j |_ ||_ dS)Nz .egg-inforQéNz¦ Note: Your current .egg-info directory has a '-' in its name; this will not work correctly with "setup.py develop". Please rename %s to %s to correct this problem. ) r@rBr!r[r"r\rerrfr3rE)rGZbeir0r0r1r](s    zegg_info.check_broken_egg_infoN)r4r5r6)r7r8r9)r:r;r<)r=r>r?)F)Ú__name__Ú __module__Ú __qualname__Ú descriptionZ user_optionsZboolean_optionsZ negative_optrHÚpropertyrIÚsetterrPrcrkrdrgrSr|rMrxr]r0r0r0r1r3ws(  / r3c@s|eZdZdd„Zdd„Zdd„Zdd„Zd d „Zd d „Zd d„Z dd„Z dd„Z dd„Z dd„Z dd„Zdd„Zdd„ZdS)rcCs<|j|ƒ\}}}}|dkrV|jddj|ƒƒx"|D]}|j|ƒs4tjd|ƒq4W�nâ|dkrš|jddj|ƒƒx"|D]}|j|ƒsxtjd|ƒqxW�nž|dkrÞ|jd dj|ƒƒx"|D]}|j|ƒs¼tjd |ƒq¼W�nZ|d k�r(|jd dj|ƒƒx&|D]}|j|ƒ�stjd |ƒ�qW�n|dk�rx|jd|dj|ƒfƒxì|D]"}|j ||ƒ�sPtjd||ƒ�qPWnÀ|dk�rÈ|jd|dj|ƒfƒxœ|D]"}|j ||ƒ�s tjd||ƒ�q Wnp|dk�rú|jd|ƒ|j |ƒ�s8tjd|ƒn>|dk�r,|jd|ƒ|j |ƒ�s8tjd|ƒn t d|ƒ‚dS)NÚincludezinclude ú z%warning: no files found matching '%s'Úexcludezexclude z9warning: no previously-included files found matching '%s'zglobal-includezglobal-include z>warning: no files found matching '%s' anywhere in distributionzglobal-excludezglobal-exclude zRwarning: no previously-included files matching '%s' found anywhere in distributionzrecursive-includezrecursive-include %s %sz:warning: no files found matching '%s' under directory '%s'zrecursive-excludezrecursive-exclude %s %szNwarning: no previously-included files matching '%s' found under directory '%s'Úgraftzgraft z+warning: no directories found matching '%s'Úprunezprune z6no previously-included directories found matching '%s'z'this cannot happen: invalid action '%s')Z_parse_template_lineÚ debug_printr\rˆrrfrŠÚglobal_includeÚglobal_excludeÚrecursive_includeÚrecursive_excluder‹rŒr)rGÚlineÚactionZpatternsÚdirZ dir_patternÚpatternr0r0r1Úprocess_template_line;sd                 zFileList.process_template_linecCsVd}xLtt|jƒdddƒD]2}||j|ƒr|jd|j|ƒ|j|=d}qW|S)z† Remove all files from the file list that match the predicate. Return True if any matching files were removed Frz removing Téÿÿÿÿr—)Úranger'Úfilesr�)rGZ predicateÚfoundr-r0r0r1Ú _remove_files„szFileList._remove_filescCs$dd„t|ƒDƒ}|j|ƒt|ƒS)z#Include files that match 'pattern'.cSsg|]}tjj|ƒs|‘qSr0)r!r"Úisdir)Ú.0rsr0r0r1ú “sz$FileList.include..)rÚextendÚbool)rGr•ršr0r0r1rˆ‘s zFileList.includecCst|ƒ}|j|jƒS)z#Exclude files that match 'pattern'.)r2r›Úmatch)rGr•r¡r0r0r1rŠ—szFileList.excludecCs8tjj|d|ƒ}dd„t|dd�Dƒ}|j|ƒt|ƒS)zN Include all files anywhere in 'dir/' that match the pattern. z**cSsg|]}tjj|ƒs|‘qSr0)r!r"rœ)r�rsr0r0r1rž¡sz.FileList.recursive_include..T)Ú recursive)r!r"r\rrŸr )rGr”r•Z full_patternršr0r0r1r�œs zFileList.recursive_includecCs ttjj|d|ƒƒ}|j|jƒS)zM Exclude any file anywhere in 'dir/' that match the pattern. z**)r2r!r"r\r›r¡)rGr”r•r¡r0r0r1r‘¦szFileList.recursive_excludecCs$dd„t|ƒDƒ}|j|ƒt|ƒS)zInclude all files from 'dir/'.cSs"g|]}tjj|ƒD]}|‘qqSr0)rXr€Úfindall)r�Z match_dirÚitemr0r0r1rž°sz"FileList.graft..)rrŸr )rGr”ršr0r0r1r‹­s  zFileList.graftcCsttjj|dƒƒ}|j|jƒS)zFilter out files from 'dir/'.z**)r2r!r"r\r›r¡)rGr”r¡r0r0r1rŒ·szFileList.prunecsJ|jdkr|jƒttjjd|ƒƒ‰‡fdd„|jDƒ}|j|ƒt|ƒS)z“ Include all files anywhere in the current directory that match the pattern. This is very inefficient on large file trees. Nz**csg|]}ˆj|ƒr|‘qSr0)r¡)r�rs)r¡r0r1ržÄsz+FileList.global_include..)Zallfilesr£r2r!r"r\rŸr )rGr•ršr0)r¡r1r޼s   zFileList.global_includecCsttjjd|ƒƒ}|j|jƒS)zD Exclude all files anywhere that match the pattern. z**)r2r!r"r\r›r¡)rGr•r¡r0r0r1r�ÈszFileList.global_excludecCs8|jdƒr|dd…}t|ƒ}|j|ƒr4|jj|ƒdS)Nú rr—)rurÚ _safe_pathr™Úappend)rGr¤r"r0r0r1r§Ïs    zFileList.appendcCs|jjt|j|ƒƒdS)N)r™rŸÚfilterr¦)rGÚpathsr0r0r1rŸ×szFileList.extendcCstt|j|jƒƒ|_dS)zÜ Replace self.files with only safe paths Because some owners of FileList manipulate the underlying ``files`` attribute directly, this method must be called to repair those paths. N)rVr¨r¦r™)rGr0r0r1Ú_repairÚszFileList._repairc Csšd}tj|ƒ}|dkr(tjd|ƒdStj|dƒ}|dkrNtj||dƒdSy tjj|ƒshtjj|ƒrldSWn&tk r”tj||t j ƒƒYnXdS)Nz!'%s' not %s encodable -- skippingz''%s' in unexpected encoding -- skippingFzutf-8T) Ú unicode_utilsÚfilesys_decoderrfZ try_encoder!r"reÚUnicodeEncodeErrorÚsysÚgetfilesystemencoding)rGr"Zenc_warnZu_pathZ utf8_pathr0r0r1r¦äs  zFileList._safe_pathN)r‚rƒr„r–r›rˆrŠr�r‘r‹rŒrŽr�r§rŸrªr¦r0r0r0r1r8sI     rc@s\eZdZdZdd„Zdd„Zdd„Zdd „Zd d „Zd d „Z e dd„ƒZ dd„Z dd„Z dS)r~z MANIFEST.incCsd|_d|_d|_d|_dS)Nr)Z use_defaultsrŒZ manifest_onlyZforce_manifest)rGr0r0r1rHÿsz!manifest_maker.initialize_optionscCsdS)Nr0)rGr0r0r1rcszmanifest_maker.finalize_optionscCsdtƒ|_tjj|jƒs|jƒ|jƒtjj|jƒr<|j ƒ|j ƒ|jj ƒ|jj ƒ|jƒdS)N) rr€r!r"rerÚwrite_manifestÚ add_defaultsÚtemplateZ read_templateÚprune_file_listÚsortZremove_duplicates)rGr0r0r1r|s  zmanifest_maker.runcCstj|ƒ}|jtjdƒS)Nú/)r«r¬Úreplacer!r#)rGr"r0r0r1Ú_manifest_normalizes z"manifest_maker._manifest_normalizecsBˆjjƒ‡fdd„ˆjjDƒ}dˆj}ˆjtˆj|f|ƒdS)zo Write the file list in 'self.filelist' to the manifest file named by 'self.manifest'. csg|]}ˆj|ƒ‘qSr0)r·)r�rs)rGr0r1rž sz1manifest_maker.write_manifest..zwriting manifest file '%s'N)r€rªr™rZexecuterd)rGr™Úmsgr0)rGr1r°s  zmanifest_maker.write_manifestcCs|j|ƒstj||ƒdS)N)Ú_should_suppress_warningr rf)rGr¸r0r0r1rf$s zmanifest_maker.warncCs tjd|ƒS)z; suppress missing-file warnings from sdist zstandard file .*not found)r$r¡)r¸r0r0r1r¹(sz'manifest_maker._should_suppress_warningcCsttj|ƒ|jj|jƒ|jj|jƒttƒƒ}|rB|jj|ƒnt j j |jƒrX|j ƒ|j dƒ}|jj|jƒdS)Nr3)r r±r€r§r²rrVr rŸr!r"reZ read_manifestÚget_finalized_commandr‹r3)rGZrcfilesZei_cmdr0r0r1r±/s   zmanifest_maker.add_defaultscCsZ|jdƒ}|jjƒ}|jj|jƒ|jj|ƒtjtj ƒ}|jj d|d|dd�dS)NÚbuildz(^|z)(RCS|CVS|\.svn)r)Zis_regex) rºrRZ get_fullnamer€rŒZ build_baser$r%r!r#Zexclude_pattern)rGr»Zbase_dirr#r0r0r1r³;s    zmanifest_maker.prune_file_listN)r‚rƒr„r²rHrcr|r·r°rfÚ staticmethodr¹r±r³r0r0r0r1r~üs    r~c Cs8dj|ƒ}|jdƒ}t|dƒ�}|j|ƒWdQRXdS)z{Create a file with the specified name and write 'contents' (a sequence of strings without line terminators) to it. Ú zutf-8rlN)r\rnrprq)rOÚcontentsrsr0r0r1rdEs   rdc Cs|tjd|ƒ|jsx|jj}|j|j|_}|j|j|_}z|j |j ƒWd|||_|_Xt |jddƒ}t j |j |ƒdS)Nz writing %sZzip_safe)rrmrorRr^rArUr@rwÚwrite_pkg_infor3Úgetattrr Zwrite_safety_flag)ÚcmdÚbasenamerOr^ZoldverZoldnameZsafer0r0r1r¿Rs r¿cCstjj|ƒrtjdƒdS)NzsWARNING: 'depends.txt' is not used by setuptools 0.6! Use the install_requires/extras_require setup() args instead.)r!r"rerrf)rÁrÂrOr0r0r1Úwarn_depends_obsoletees rÃcCs,t|pfƒ}dd„}t||ƒ}|j|ƒdS)NcSs|dS)Nr½r0)r’r0r0r1Úosz%_write_requirements..)rrÚ writelines)ÚstreamZreqsÚlinesZ append_crr0r0r1Ú_write_requirementsms  rÈcCsn|j}tjƒ}t||jƒ|jp"i}x2t|ƒD]&}|jdjft ƒŽƒt|||ƒq.W|j d||j ƒƒdS)Nz [{extra}] Z requirements) rRrÚStringIOrÈZinstall_requiresÚextras_requireÚsortedrqÚformatÚvarsrkÚgetvalue)rÁrÂrOZdistrirÊZextrar0r0r1Úwrite_requirementsts  rÏcCs,tjƒ}t||jjƒ|jd||jƒƒdS)Nzsetup-requirements)ÚiorÉrÈrRZsetup_requiresrkrÎ)rÁrÂrOrir0r0r1Úwrite_setup_requirementssrÑcCs:tjdd„|jjƒDƒƒ}|jd|djt|ƒƒdƒdS)NcSsg|]}|jddƒd‘qS)Ú.rr)r )r�Úkr0r0r1ržˆsz(write_toplevel_names..ztop-level namesr½)rNÚfromkeysrRZiter_distribution_namesrdr\rË)rÁrÂrOZpkgsr0r0r1Úwrite_toplevel_names…srÕcCst|||dƒdS)NT)Ú write_arg)rÁrÂrOr0r0r1Ú overwrite_arg�sr×FcCsHtjj|ƒd}t|j|dƒ}|dk r4dj|ƒd}|j||||ƒdS)Nrr½)r!r"ÚsplitextrÀrRr\rk)rÁrÂrOrjZargnamerJr0r0r1rÖ“s rÖcCs¨|jj}t|tjƒs|dkr"|}nr|dk r”g}xZt|jƒƒD]J\}}t|tjƒsttj||ƒ}dj tt t |j ƒƒƒƒ}|j d||fƒqsR           (   SBEI