Your IP : 18.220.227.250


Current Path : /usr/lib/python3.8/site-packages/setuptools/command/__pycache__/
Upload File :
Current File : //usr/lib/python3.8/site-packages/setuptools/command/__pycache__/setopt.cpython-38.pyc

U

�Qab��@s�ddlmZddlmZddlmZddlZddlZddlmZddl	m
Z
ddd	d
gZddd�Zddd�Z
Gdd	�d	e
�ZGdd
�d
e�ZdS)�)�convert_path)�log)�DistutilsOptionErrorN)�configparser)�Command�config_file�edit_config�option_base�setopt�localcCsh|dkrdS|dkr,tj�tj�tj�d�S|dkrZtjdkrBdpDd}tj�td	|��St	d
|��dS)z�Get the filename of the distutils, local, global, or per-user config

    `kind` must be one of "local", "global", or "user"
    rz	setup.cfg�globalz
distutils.cfg�user�posix�.�z~/%spydistutils.cfgz7config_file() type must be 'local', 'global', or 'user'N)
�os�path�join�dirname�	distutils�__file__�name�
expanduserr�
ValueError)Zkind�dot�r�=/usr/lib/python3.8/site-packages/setuptools/command/setopt.pyrs��Fc		Cs&t�d|�t��}|�|g�|��D]�\}}|dkrRt�d||�|�|�q(|�|�stt�d||�|�	|�|��D]p\}}|dkr�t�d|||�|�
||�|�|�s�t�d||�|�|�q|t�d||||�|�|||�q|q(t�d|�|�s"t
|d	��}|�|�W5QRXdS)
aYEdit a configuration file to include `settings`

    `settings` is a dictionary of dictionaries or ``None`` values, keyed by
    command/section name.  A ``None`` value means to delete the entire section,
    while a dictionary lists settings to be changed or deleted in that section.
    A setting of ``None`` means to delete that setting.
    zReading configuration from %sNzDeleting section [%s] from %szAdding new section [%s] to %szDeleting %s.%s from %sz#Deleting empty [%s] section from %szSetting %s.%s to %r in %sz
Writing %s�w)r�debugrZRawConfigParser�read�items�infoZremove_sectionZhas_sectionZadd_sectionZ
remove_option�options�set�open�write)	�filenameZsettings�dry_runZoptsZsectionr"�option�value�frrrr!sJ

�
��c@s2eZdZdZdddgZddgZdd�Zd	d
�ZdS)r	z<Abstract base class for commands that mess with config files)�
global-config�gz0save options to the site-wide distutils.cfg file)�user-config�uz7save options to the current user's pydistutils.cfg file)z	filename=r*z-configuration file to use (default=setup.cfg)r+r-cCsd|_d|_d|_dS�N)�
global_config�user_configr&��selfrrr�initialize_options\szoption_base.initialize_optionscCsvg}|jr|�td��|jr,|�td��|jdk	rB|�|j�|sT|�td��t|�dkrjtd|��|\|_dS)Nrr
r�z/Must specify only one configuration file option)r0�appendrr1r&�lenr)r3�	filenamesrrr�finalize_optionsas
�zoption_base.finalize_optionsN)�__name__�
__module__�__qualname__�__doc__�user_options�boolean_optionsr4r9rrrrr	Ls�
�c@sJeZdZdZdZddddgejZejdgZdd	�Zd
d�Z	dd
�Z
dS)r
z#Save command-line options to a filez1set an option in setup.cfg or another config file)zcommand=�czcommand to set an option for)zoption=�oz
option to set)z
set-value=�szvalue of the option)�remove�rzremove (unset) the valuerCcCs&t�|�d|_d|_d|_d|_dSr/)r	r4�commandr(�	set_valuerCr2rrrr4�s

zsetopt.initialize_optionscCsBt�|�|jdks|jdkr&td��|jdkr>|js>td��dS)Nz%Must specify --command *and* --optionz$Must specify --set-value or --remove)r	r9rEr(rrFrCr2rrrr9�s

zsetopt.finalize_optionscCs*t|j|j|j�dd�|jii|j�dS)N�-�_)rr&rEr(�replacerFr'r2rrr�run�s��z
setopt.runN)r:r;r<r=�descriptionr	r>r?r4r9rJrrrrr
ss��)r)F)Zdistutils.utilrrrZdistutils.errorsrrZsetuptools.extern.six.movesrZ
setuptoolsr�__all__rrr	r
rrrr�<module>s

+'

?>