관리-도구
편집 파일: setopt.cpython-310.pyc
o ~�Re� � @ s� d dl mZ d dlmZ d dlmZ d dlZd dlZd dlZd dlm Z g d�Z ddd �Zddd�ZG d d� de �Z G dd� de �ZdS )� )�convert_path)�log)�DistutilsOptionErrorN)�Command)�config_file�edit_config�option_base�setopt�localc C sd | dkrdS | dkrt j�t j�tj�d�S | dkr-t jdkr!dp"d}t j�td | ��S t d | ��)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') �os�path�join�dirname� distutils�__file__�name� expanduserr � ValueError)�kind�dot� r ��/builddir/build/BUILDROOT/alt-python310-setuptools-58.3.0-2.el8.x86_64/opt/alt/python310/lib/python3.10/site-packages/setuptools/command/setopt.pyr s ��r Fc C sH t �d| � t�� }dd� |_|�| g� |�� D ]c\}}|du r.t �d|| � |�|� q|� |�s?t �d|| � |� |� |�� D ]8\}}|du rkt �d||| � |�||� |�|�sjt �d|| � |�|� qCt �d |||| � |� |||� qCqt �d | � |s�t| d��}|�|� W d � dS 1 s�w Y dS 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 %sc S s | S �Nr )�xr r r �<lambda>* s zedit_config.<locals>.<lambda>NzDeleting 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 �debug�configparser�RawConfigParser�optionxform�read�items�info�remove_section�has_section�add_section� remove_option�options�set�open�write) �filename�settings�dry_run�opts�sectionr, �option�value�fr r r r sH � � ���"��r c @ s0 e Zd ZdZg d�ZddgZdd� Zdd� Zd S ) 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=r7 z-configuration file to use (default=setup.cfg)r8 r: c C s d | _ d | _d | _d S r )� global_config�user_configr0 ��selfr r r �initialize_options\ s zoption_base.initialize_optionsc C sv g }| j r|�td�� | jr|�td�� | jd ur!|�| j� |s*|�td�� t|�dkr5td|��|\| _d S )Nr r r � z/Must specify only one configuration file option)r<