3 M(ÌYtã@s`ddlmZddlmZddlmZddlZddlZddlm Z ddl m Z Gdd„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úG/private/tmp/pip-build-nl73fm5q/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ú +sz+rotate.finalize_options..ú,Ú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 ƒt j dt |ƒ|ƒ||jd…}xD|D]<\}}t j d|ƒ|jsŒtjj|ƒr¾tj|ƒqŒtj|ƒqŒWqWdS) NÚegg_infor)ÚglobÚ*cSsg|]}tjj|ƒ|f‘qSr)ÚosÚpathÚgetmtime)rÚfrrrr6szrotate.run..z%d file(s) matching %sz Deleting %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 )r r r )rrr) Ú__name__Ú __module__Ú __qualname__Ú__doc__Ú descriptionÚ user_optionsÚboolean_optionsrr$r<rrrrr sr) Údistutils.utilrÚ distutilsrZdistutils.errorsrr(r6Zsetuptools.externrÚ setuptoolsrrrrrrÚs