관리-도구
편집 파일: rotate.cpython-38.pyc
U ���eP � @ sT d dl mZ d dlmZ d dlmZ d dlZd dlZd dlm Z G dd� de �Z dS )� )�convert_path)�log)�DistutilsOptionErrorN)�Commandc @ s: e Zd ZdZdZdddgZg Zdd� Zdd � Zd d� Z dS ) �rotatezDelete older distributionsz2delete older distributions, keeping N newest files)zmatch=�mzpatterns to match (required))z dist-dir=�dz%directory where the distributions are)zkeep=�kz(number of matching distributions to keepc C s d | _ d | _d | _d S )N)�match�dist_dir�keep)�self� r �G/opt/hc_python/lib/python3.8/site-packages/setuptools/command/rotate.py�initialize_options s zrotate.initialize_optionsc C s� | j d krtd��| jd kr$td��zt| j�| _W n, tk r` } ztd�|�W 5 d }~X Y nX t| j t�r�dd� | j �d�D �| _ | �dd� d S ) NzQMust specify one or more (comma-separated) match patterns (e.g. '.zip' or '.egg')z$Must specify number of files to keepz--keep must be an integerc S s g | ]}t |�� ��qS r )r �strip)�.0�pr r r � <listcomp>( s z+rotate.finalize_options.<locals>.<listcomp>�,�bdist)r r ) r r r �int� ValueError� isinstance�str�split�set_undefined_options)r �er r r �finalize_options s � �zrotate.finalize_optionsc C s� | � d� ddlm} | jD ]�}| j�� d | }|tj�| j|��}dd� |D �}|� � |� � t�dt |�|� || jd � }|D ]<\}}t�d|� | js�tj�|�r�t�|� q�t�|� q�qd S ) N�egg_infor )�glob�*c S s g | ]}t j�|�|f�qS r )�os�path�getmtime)r �fr r r r 4 s zrotate.run.<locals>.<listcomp>z%d file(s) matching %szDeleting %s)�run_commandr r �distribution�get_namer"