<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>
3
Ävht  ã               @   s`   d dl mZ d dlmZ d dlmZ d dlZd dlZd dlm	Z	 d dl
mZ G dd„ deƒZdS )	é    )Úconvert_path)Úlog)ÚDistutilsOptionErrorN)Úsix)ÚCommandc               @   s:   e Zd ZdZdZdddgZg Zdd„ Zdd„ Zdd„ Z	dS )ÚrotatezDelete older distributionsz2delete older distributions, keeping N newest filesúmatch=Úmúpatterns to match (required)ú	dist-dir=Údú%directory where the distributions areúkeep=Úkú(number of matching distributions to keepc             C   s   d | _ d | _d | _d S )N)ÚmatchÚdist_dirÚkeep)Úself© r   ú/usr/lib/python3.6/rotate.pyÚinitialize_options   s    zrotate.initialize_optionsc             C   sˆ   | j d krtdƒ‚| jd kr$tdƒ‚yt| jƒ| _W n tk
rP   tdƒ‚Y nX t| j tjƒrxdd„ | j jdƒD ƒ| _ | j	dd	ƒ 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 |jƒ ƒ‘qS r   )r   Ústrip)Ú.0Úpr   r   r   ú
<listcomp>+   s    z+rotate.finalize_options.<locals>.<listcomp>ú,Zbdistr   )r   r   )
r   r   r   ÚintÚ
ValueErrorÚ
isinstancer   Zstring_typesÚsplitZset_undefined_options)r   r   r   r   Úfinalize_options   s    

zrotate.finalize_optionsc             C   sÔ   | j dƒ ddlm} x¸| jD ]®}| jjƒ d | }|tjj| j|ƒƒ}dd„ |D ƒ}|j	ƒ  |j
ƒ  tjdt|ƒ|ƒ || jd … }xD|D ]<\}}tjd|ƒ | jsŒtjj|ƒr¾tj|ƒ qŒtj|ƒ qŒW qW d S )	NZegg_infor   )ÚglobÚ*c             S   s   g | ]}t jj|ƒ|f‘qS r   )ÚosÚpathÚgetmtime)r   Úfr   r   r   r   6   s    zrotate.run.<locals>.<listcomp>z%d file(s) matching %szDeleting %s)Zrun_commandr"   r   ZdistributionZget_namer$   r%   Újoinr   ÚsortÚreverser   ÚinfoÚlenr   Zdry_runÚisdirÚshutilZrmtreeÚunlink)r   r"   ÚpatternÚfilesÚtr'   r   r   r   Úrun/   s     
z
rotate.runN)r   r	   r
   )r   r   r   )r   r   r   )
Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚdescriptionZuser_optionsZboolean_optionsr   r!   r3   r   r   r   r   r      s   r   )Zdistutils.utilr   Z	distutilsr   Zdistutils.errorsr   r$   r.   Zsetuptools.externr   Z
setuptoolsr   r   r   r   r   r   Ú<module>   s   