관리-도구
편집 파일: setopt.cpython-38.pyc
U �Qab� � @ s� d dl mZ d dlmZ d dlmZ d dlZd dlZd dlmZ d dl m Z ddd d gZddd�Zddd�Z G dd � d e �ZG dd � d e�ZdS )� )�convert_path)�log)�DistutilsOptionErrorN)�configparser)�Command�config_file�edit_config�option_base�setopt�localc C sh | dkrdS | dkr,t j�t j�tj�d�S | dkrZt jdkrBdpDd}t j�td | ��S t d | ��dS )z�Get the filename of the distutils, local, global, or per-user config `kind` must be one of "local", "global", or "user" r z 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.pyr s � �Fc C s& 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 ��}|�|� W 5 Q R X dS ) aY Edit 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 �debugr ZRawConfigParser�read�items�infoZremove_sectionZhas_sectionZadd_sectionZ remove_option�options�set�open�write) �filenameZsettings�dry_runZoptsZsectionr"