a
    6RhL	                     @   sD   d dl mZmZmZ d dlmZ dd ZG dd deZdd Zd	S )
    )config_fileedit_configoption_base)DistutilsOptionErrorc                 C   s8   dD ]}|| v rt |   S q|  | gkr4t | S | S )z4Quote an argument for later parsing by shlex.split())"'\#)reprsplit)argc r   N/opt/python-3.9.24/usr/lib/python3.9/site-packages/setuptools/command/alias.pyshquote   s    r   c                   @   sT   e Zd ZdZdZdZdgej Zejdg Zdd Z	dd	d
dZ
dd	ddZdS )aliasz3Define a shortcut that invokes one or more commandsz0define a shortcut to invoke one or more commandsT)removerzremove (unset) the aliasr   c                 C   s   t |  d | _d | _d S )N)r   initialize_optionsargsr   selfr   r   r   r      s    
zalias.initialize_optionsN)returnc                 C   s*   t |  | jr&t| jdkr&tdd S )N   zFMust specify exactly one argument (the alias name) when using --remove)r   finalize_optionsr   lenr   r   r   r   r   r   r   !   s
    
zalias.finalize_optionsc                 C   s   | j d}| js@td td |D ]}tdt|| q&d S t| jdkr| j\}| jrbd }q||v r~tdt|| d S td| d S n$| jd }dtt	| jdd  }t
| jd||ii| j d S )	NaliaseszCommand Aliasesz---------------zsetup.py aliasr   zNo alias definition found for r    )distributionget_option_dictr   printformat_aliasr   r   joinmapr   r   filenamedry_run)r   r   r   commandr   r   r   run(   s&    
z	alias.run)__name__
__module____qualname____doc__descriptionZcommand_consumes_argumentsr   user_optionsboolean_optionsr   r   r'   r   r   r   r   r      s   r   c                 C   s\   ||  \}}|t dkrd}n.|t dkr0d}n|t dkrBd}n
d|}||  d | S )	Nglobalz--global-config userz--user-config local z--filename=r   )r   )namer   sourcer&   r   r   r   r!   C   s    
r!   N)	Zsetuptools.command.setoptr   r   r   distutils.errorsr   r   r   r!   r   r   r   r   <module>   s   
3