B ReP@sTddlmZddlmZddlmZddlZddlZddlm Z Gddde Z dS)) convert_path)log)DistutilsOptionErrorN)Commandc@s:eZdZdZdZdddgZgZddZdd Zd d Z d S) 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 keepcCsd|_d|_d|_dS)N)matchdist_dirkeep)selfr/builddir/build/BUILDROOT/alt-python37-setuptools-58.3.0-4.el8.x86_64/opt/alt/python37/lib/python3.7/site-packages/setuptools/command/rotate.pyinitialize_optionsszrotate.initialize_optionsc Cs|jdkrtd|jdkr$tdyt|j|_Wn,tk r`}ztd|Wdd}~XYnXt|jtrdd|jdD|_|dddS) 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|qSr)rstrip).0prrr )sz+rotate.finalize_options..,bdist)r r ) r rr int ValueError isinstancestrsplitset_undefined_options)r errrfinalize_optionss   zrotate.finalize_optionscCs|dddlm}x|jD]}|jd|}|tj|j|}dd|D}| | t dt ||||jd}xD|D]<\}}t d||jstj|rt|qt|qWqWdS) Negg_infor)glob*cSsg|]}tj||fqSr)ospathgetmtime)rfrrrr4szrotate.run..z%d file(s) matching %sz Deleting %s) run_commandr r distributionget_namer"r#joinr sortreverserinfolenr dry_runisdirshutilrmtreeunlink)r r patternfilestr%rrrrun-s       z rotate.runN) __name__ __module__ __qualname____doc__ description user_optionsboolean_optionsrrr6rrrrr sr) distutils.utilr distutilsrdistutils.errorsrr"r0 setuptoolsrrrrrrs