3 \+ ã@sddZddlmZddlmZmZddlZddlZddlZGdd„deƒZ dd„Z d d „Z d d „Z dS) z†distutils.command.install_egg_info Implements the Distutils 'install_egg_info' command, for installing a package's PKG-INFO metadata.é)ÚCommand)ÚlogÚdir_utilNc@s:eZdZdZdZdgZdd„Zdd „Zd d „Zd d „Z dS)Úinstall_egg_infoz)Install an .egg-info file for the packagez8Install package's PKG-INFO metadata as an .egg-info fileú install-dir=Údúdirectory to install tocCs d|_dS)N)Ú install_dir)Úself©r ú:/usr/lib64/python3.6/distutils/command/install_egg_info.pyÚinitialize_optionssz#install_egg_info.initialize_optionscCsb|jddƒdtt|jjƒƒƒtt|jjƒƒƒftjdd…˜}t j j |j |ƒ|_ |j g|_dS)NZ install_libr z%s-%s-py%d.%d.egg-infoé)r r )Zset_undefined_optionsÚ to_filenameÚ safe_nameÚ distributionZget_nameÚ safe_versionZ get_versionÚsysÚ version_infoÚosÚpathÚjoinr ÚtargetÚoutputs)r Úbasenamer r r Úfinalize_optionss z!install_egg_info.finalize_optionsc Cs¾|j}tjj|ƒr2tjj|ƒ r2tj||jd�nNtjj|ƒrX|j tj |jfd|ƒn(tjj|j ƒs€|j tj |j fd|j ƒt jd|ƒ|jsºt|ddd��}|jjj|ƒWdQRXdS)N)Údry_runz Removing z Creating z Writing %sÚwzUTF-8)Úencoding)rrrÚisdirÚislinkrZ remove_treerÚexistsZexecuteÚunlinkr ÚmakedirsrÚinfoÚopenrZmetadataZwrite_pkg_file)r rÚfr r r Úrun s   zinstall_egg_info.runcCs|jS)N)r)r r r r Ú get_outputs.szinstall_egg_info.get_outputsN)rrr) Ú__name__Ú __module__Ú __qualname__Ú__doc__Z descriptionZ user_optionsr rr'r(r r r r r s rcCstjdd|ƒS)z�Convert an arbitrary string to a standard distribution name Any runs of non-alphanumeric/. characters are replaced with a single '-'. z[^A-Za-z0-9.]+ú-)ÚreÚsub)Únamer r r r6srcCs|jddƒ}tjdd|ƒS)zÌConvert an arbitrary string to a standard version string Spaces become dots, and all other non-alphanumeric characters become dashes, with runs of multiple dashes condensed to a single dash. ú Ú.z[^A-Za-z0-9.]+r-)Úreplacer.r/)Úversionr r r r>s rcCs |jddƒS)z|Convert a project or version name to its filename-escaped form Any '-' characters are currently replaced with '_'. r-Ú_)r3)r0r r r rHsr) r,Z distutils.cmdrZ distutilsrrrrr.rrrrr r r r Ús +