3

Q'íctã@s`ddlmZddlmZddlmZddlZddlZddlm	Z	ddl
mZGdd„deƒZdS)	é)Úconvert_path)Úlog)ÚDistutilsOptionErrorN)Úsix)ÚCommandc@s:eZdZdZdZdddgZgZdd
„Zdd„Zdd„Z	dS)ÚrotatezDelete 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 keepcCsd|_d|_d|_dS)N)ÚmatchÚdist_dirÚkeep)Úself©rú?/tmp/pip-build-l_bcah40/setuptools/setuptools/command/rotate.pyÚinitialize_optionsszrotate.initialize_optionscCsˆ|jdkrtdƒ‚|jdkr$tdƒ‚yt|jƒ|_Wntk
rPtdƒ‚YnXt|jtjƒrxdd„|jjdƒDƒ|_|j	dd	ƒdS)
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 integercSsg|]}t|jƒƒ‘qSr)rÚstrip)Ú.0Úprrrú
<listcomp>+sz+rotate.finalize_options.<locals>.<listcomp>ú,Úbdistr)rr)
rrrÚintÚ
ValueErrorÚ
isinstancerÚstring_typesÚsplitÚset_undefined_options)rrrrÚfinalize_optionss

zrotate.finalize_optionscCsÔ|jdƒddlm}x¸|jD]®}|jjƒd|}|tjj|j|ƒƒ}dd„|Dƒ}|j	ƒ|j
ƒtjdt
|ƒ|ƒ||jd…}xD|D]<\}}tjd|ƒ|jsŒtjj|ƒr¾tj|ƒqŒtj|ƒqŒWqWdS)	NÚegg_infor)ÚglobÚ*cSsg|]}tjj|ƒ|f‘qSr)ÚosÚpathÚgetmtime)rÚfrrrr6szrotate.run.<locals>.<listcomp>z%d file(s) matching %szDeleting %s)Úrun_commandr&rÚdistributionÚget_namer(r)ÚjoinrÚsortÚreverserÚinfoÚlenrÚdry_runÚisdirÚshutilÚrmtreeÚunlink)rr&ÚpatternÚfilesÚtr+rrrÚrun/s 
z
rotate.runN)rr	r
)rrr
)rrr)
Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚdescriptionÚuser_optionsÚboolean_optionsrr$r<rrrrrsr)
Údistutils.utilrÚ	distutilsrZdistutils.errorsrr(r6Zsetuptools.externrÚ
setuptoolsrrrrrrÚ<module>s