관리-도구
편집 파일: egg_info.cpython-38.pyc
U ���e�b � @ s� d Z ddlmZ ddlmZ ddlmZ ddlm Z ddlZddlZddl Z ddlZddlZddl Z ddlZddlZddlZddlZddlmZ ddlmZ dd lmZ dd lmZ ddlmZ ddlmZmZmZmZm Z m!Z!m"Z"m#Z# ddl$m%Z% dd l&m'Z' ddl(m)Z) ddlm*Z* dd� Z+G dd� d�Z,G dd� de,e�Z-G dd� de�ZG dd� de�Z.dd� Z/dd� Z0dd� Z1d d!� Z2d"d#� Z3d$d%� Z4d&d'� Z5d(d)� Z6d3d+d,�Z7d-d.� Z8d/d0� Z9G d1d2� d2e*�Z:dS )4zUsetuptools.command.egg_info Create a distribution's .egg-info directory and contents� )�FileList)�DistutilsInternalError)�convert_path)�logN)�Command)�sdist)�walk_revctrl)�edit_config)� bdist_egg)�parse_requirements� safe_name� parse_version�safe_version�yield_lines� EntryPoint�iter_entry_points�to_filename)�glob)� packaging)�SetuptoolsDeprecationWarningc C s� d}| � tjj�}t�tj�}d|f }t|�D �]�\}}|t|�d k}|dkrr|r`|d7 }q0|d||f 7 }q0d}t|�} || k �r�|| } | dkr�||d 7 }�n | d kr�||7 }n�| d k�r�|d }|| k r�|| dkr�|d }|| k �r|| dk�r|d }|| k �r,|| dk�r,|d }�q|| k�rF|t�| �7 }nR||d |� }d} |d dk�rxd } |dd� }| t�|�7 } |d| f 7 }|}n|t�| �7 }|d7 }q~|s0||7 }q0|d7 }tj|tj tj B d�S )z� Translate a file path glob like '*.txt' in to a regular expression. This differs from fnmatch.translate which allows wildcards to match directory separators. It also knows about '**/' which matches any number of directories. � z[^%s]� �**z.*z (?:%s+%s)*r �*�?�[�!�]�^Nz[%s]z\Z)�flags)�split�os�path�sep�re�escape� enumerate�len�compile� MULTILINE�DOTALL)r �pat�chunksr# Z valid_char�c�chunk� last_chunk�iZ chunk_len�charZinner_i�inner� char_class� r4 �I/opt/hc_python/lib/python3.8/site-packages/setuptools/command/egg_info.py�translate_pattern# sV r6 c @ s@ e Zd ZdZdZedd� �Zdd� Zdd� Zdd � Z ee �Z dS ) � InfoCommonNc C s t | j�� �S �N)r �distribution�get_name��selfr4 r4 r5 �namez s zInfoCommon.namec C s t | �| j�� ��S r8 )r � _maybe_tagr9 �get_versionr; r4 r4 r5 �tagged_version~ s zInfoCommon.tagged_versionc C s | j r|�| j �r|S || j S )z� egg_info may be called more than once for a distribution, in which case the version string already contains all tags. )�vtags�endswith�r<