관리-도구
편집 파일: rotate.cpython-38.pyc
U �Qabt � @ s` d dl mZ d dlmZ d dlmZ d dlZd dlZd dlm Z d dl mZ G dd� de�ZdS ) � )�convert_path)�log)�DistutilsOptionErrorN)�six)�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 �=/usr/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 rP td��Y nX t| j tj�rxdd� | 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>�,Zbdist)r r ) r r r �int� ValueError� isinstancer Zstring_types�splitZset_undefined_optionsr r 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 ) NZegg_infor )�glob�*c S s g | ]}t j�|�|f�qS r )�os�path�getmtime)r �fr r r r 6 s zrotate.run.<locals>.<listcomp>z%d file(s) matching %szDeleting %s)Zrun_commandr r ZdistributionZget_namer r �joinr �sort�reverser �info�lenr Zdry_run�isdir�shutilZrmtree�unlink)r r �pattern�files�tr"