_d1ZddlmZddlmZddlmZddlZddlZddlm Z Gdde Z y)) convert_path)log)DistutilsOptionErrorN)Commandc2eZdZdZdZgdZgZdZdZdZ y)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.d|_d|_d|_y)N)matchdist_dirkeep)selfs ;/usr/lib/python3/dist-packages/setuptools/command/rotate.pyinitialize_optionszrotate.initialize_optionss   c|j td|j td t|j|_t |jt rE|jjdDcgc]}t|jc}|_|jddy#t$r}td|d}~wwxYwcc}w)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 integer,bdist)rr) r rrint ValueError isinstancestrsplitrstripset_undefined_options)reps rfinalize_optionszrotate.finalize_optionss :: &*  99 &'MN N KDIIDI djj# &;?::;K;KC;PQa,qwwy1QDJ ""7,DE  K&'BC J KRsB< C< C CCc|jdddlm}|jD]G}|jj dz|z}|t j j|j|}|Dcgc]#}t j j||f%}}|j|jtjdt||||jd}|D]r\}}tjd||j r)t j j#|rt%j&|^t j(|tJycc}w)Negg_infor)glob*z%d file(s) matching %sz Deleting %s) run_commandr#r distributionget_nameospathjoinrgetmtimesortreverserinfolenrdry_runisdirshutilrmtreeunlink)rr#patternfilesfts rrunz rotate.run+s $zz %G''002S87BGdmmW=>E7<=!bgg&&q)1-=E= JJL MMO HH-s5z7 C$))+&E %1*||ww}}Q' a( !  % %>s<(E0N) __name__ __module__ __qualname____doc__ description user_optionsboolean_optionsrr r9rrrr s($FKL O F %rr) distutils.utilr distutilsrdistutils.errorsrr(r2 setuptoolsrrrArrrFs#'1 4%W4%r