B  f+ @sddZddlmZddlmZmZddlZddlZddlZGdddeZ ddZ d d Z d d Z dS) zdistutils.command.install_egg_info Implements the Distutils 'install_egg_info' command, for installing a package's PKG-INFO metadata.)Command)logdir_utilNc@s:eZdZdZdZdgZddZddZdd Zd d Z d S) install_egg_infoz)Install an .egg-info file for the packagez8Install package's PKG-INFO metadata as an .egg-info file)z install-dir=dzdirectory to install tocCs d|_dS)N) install_dir)selfr G/opt/alt/python37/lib64/python3.7/distutils/command/install_egg_info.pyinitialize_optionssz#install_egg_info.initialize_optionscCsb|dddtt|jtt|jftjdd}t j |j ||_ |j g|_dS)NZ install_lib)rrz%s-%s-py%d.%d.egg-info)Zset_undefined_options to_filename safe_name distributionZget_name safe_versionZ get_versionsys version_infoospathjoinrtargetoutputs)rbasenamer r r finalize_optionss z!install_egg_info.finalize_optionsc Cs|j}tj|r0tj|s0tj||jdnNtj|rV| tj |jfd|n(tj|j s~| tj |j fd|j t d||jst|ddd}|jj|WdQRXdS)N)dry_runz Removing z Creating z Writing %swzUTF-8)encoding)rrrisdirislinkrZ remove_treerexistsZexecuteunlinkrmakedirsrinfoopenrZmetadataZwrite_pkg_file)rrfr r r run s   zinstall_egg_info.runcCs|jS)N)r)rr r r get_outputs.szinstall_egg_info.get_outputsN) __name__ __module__ __qualname____doc__Z descriptionZ user_optionsr rr%r&r r r r r s rcCstdd|S)zConvert an arbitrary string to a standard distribution name Any runs of non-alphanumeric/. characters are replaced with a single '-'. z[^A-Za-z0-9.]+-)resub)namer r r r6srcCs|dd}tdd|S)zConvert 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 |ddS)z|Convert a project or version name to its filename-escaped form Any '-' characters are currently replaced with '_'. r+_)r1)r.r r r r Hsr ) r*Z distutils.cmdrZ distutilsrrrrr,rrrr r r r r s +