
    Gui
                     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    `/opt/pipecat/venv/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                  |      r5t        j                  j	                  |      st        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|       t        |dd      5 }| j                  j                   j#                  |       d d d        y # 1 sw Y   y xY w)Nz	Removing z	Creating z
Writing %swzUTF-8)encoding)r*   r'   r(   isdirislinkr   remove_tree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&&#0 	9A&&55a8	9 	9 	9s   6&E%%E.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   ` `%
9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   C   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   rK   r   )replacerL   rM   )r"   s    r   r   r   K   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   _)rQ   rN   s    r   r   r   U   s    
 <<S!!r   )rB   r'   rL   r   typingr    r   _logr   cmdr   r	   r   r   r   rI   r   r   <module>rX      s=    
 	 
    )w )b/2"r   