
    ?wg4                     x    d 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  G d d	e      Zd
 Zd Zd Zy)z
distutils.command.install_egg_info

Implements the Distutils 'install_egg_info' command, for installing
a package's PKG-INFO metadata.
    N)ClassVar   )dir_util)log)Commandc                   f    e Zd ZU dZdZdgZeeee	e	e	f         e
d<   d Zed        Zd Zd Zd	 Zy
)install_egg_infoz)Install an .egg-info file for the packagez8Install package's PKG-INFO metadata as an .egg-info file)zinstall-dir=dzdirectory to install touser_optionsc                     d | _         y N)install_dirselfs    e/var/www/horilla/myenv/lib/python3.12/site-packages/setuptools/_distutils/command/install_egg_info.pyinitialize_optionsz#install_egg_info.initialize_options   s
        c                 .   t        t        | j                  j                                     }t        t	        | j                  j                                     }| d| dt        j                  j                   dt        j                  j                   dS )z_
        Allow basename to be overridden by child class.
        Ref pypa/distutils#2.
        -z-py.z	.egg-info)
to_filename	safe_namedistributionget_namesafe_versionget_versionsysversion_infomajorminor)r   nameversions      r   basenamezinstall_egg_info.basename   sz     9T%6%6%?%?%ABCl4+<+<+H+H+JKLq	S%5%5%;%;$<Ac>N>N>T>T=UU^__r   c                     | j                  dd       t        j                  j                  | j                  | j
                        | _        | j                  g| _        y )Ninstall_lib)r   r   )set_undefined_optionsospathjoinr   r#   targetoutputsr   s    r   finalize_optionsz!install_egg_info.finalize_options'   s@    ""=2PQggll4#3#3T]]C}r   c                    | j                   }t        j                  j                  |      rAt        j                  j	                  |      s"t        j                  || j                         nt        j                  j                  |      r0| j                  t        j                  | j                   fd|z          nbt        j                  j                  | j                        s9| j                  t        j                  | j                  fd| j                  z          t        j                  d|       | j                  s=t        |dd      5 }| j                   j"                  j%                  |       d d d        y y # 1 sw Y   y xY w)N)dry_runz	Removing z	Creating z
Writing %swzUTF-8)encoding)r*   r'   r(   isdirislinkr   remove_treer.   existsexecuteunlinkr   makedirsr   infoopenr   metadatawrite_pkg_file)r   r*   fs      r   runzinstall_egg_info.run,   s   77== )?  >WW^^F#LLT[[NK&4HIt//0LLd..0+@P@P2P 	v&||fcG4 =!!**99!<= = = =s   &E>>Fc                     | j                   S r   )r+   r   s    r   get_outputszinstall_egg_info.get_outputs;   s    ||r   N)__name__
__module____qualname____doc__descriptionr   r   listtuplestr__annotations__r   propertyr#   r,   r=   r?    r   r   r	   r	      sZ    3LK8:L(4c3m 456   ` `%
=r   r	   c                 0    t        j                  dd|       S )zConvert an arbitrary string to a standard distribution name

    Any runs of non-alphanumeric/. characters are replaced with a single '-'.
    [^A-Za-z0-9.]+r   )resubr!   s    r   r   r   D   s    
 66"C..r   c                 T    | j                  dd      } t        j                  dd|       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.
     r   rL   r   )replacerM   rN   )r"   s    r   r   r   L   s(     ooc3'G66"C11r   c                 &    | j                  dd      S )z|Convert a project or version name to its filename-escaped form

    Any '-' characters are currently replaced with '_'.
    r   _)rR   rO   s    r   r   r   V   s    
 <<S!!r   )rC   r'   rM   r   typingr    r   _logr   cmdr   r	   r   r   r   rJ   r   r   <module>rY      s=    
 	 
    *w *d/2"r   