Ret@sddlmZddlmZddlmZddlZddlZddlm Z ddl m Z Gddde Z dS) ) convert_path)log)DistutilsOptionErrorN)six)Commandc@sUeZdZdZdZdddgZgZd d ZddZddZ dS)rotatezDelete older distributionsz2delete older distributions, keeping N newest filesmatch=mpatterns to match (required) dist-dir=d%directory where the distributions arekeep=k(number of matching distributions to keepcCsd|_d|_d|_dS)N)matchdist_dirkeep)selfr/builddir/build/BUILDROOT/alt-python35-setuptools-36.3.0-4.el8.x86_64/opt/alt/python35/lib/python3.5/site-packages/setuptools/command/rotate.pyinitialize_optionss  zrotate.initialize_optionsc Cs|jdkrtd|jdkr6tdyt|j|_Wntk rltdYnXt|jtjrdd|jjdD|_|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 integercSs"g|]}t|jqSr)rstrip).0prrr +s z+rotate.finalize_options..,bdistr)rr) rrrint ValueError isinstancer string_typessplitset_undefined_options)rrrrfinalize_optionss   "zrotate.finalize_optionscCs|jdddlm}x|jD]}|jjd|}|tjj|j|}dd|D}|j |j t j dt ||||jd}x\|D]T\}}t j d||jstjj|rtj|qtj|qWq'WdS) Negg_infor)glob*cSs(g|]}tjj||fqSr)ospathgetmtime)rfrrrr6s zrotate.run..z%d file(s) matching %sz Deleting %s) run_commandr&r distributionget_namer(r)joinrsortreverserinfolenrdry_runisdirshutilrmtreeunlink)rr&patternfilestr+rrrrun/s     z rotate.runN)rr r )r r r )rrr) __name__ __module__ __qualname____doc__ description user_optionsboolean_optionsrr$r<rrrrr s    r) distutils.utilr distutilsrdistutils.errorsrr(r6Zsetuptools.externr setuptoolsrrrrrrs