o ~›RePã@sTddlmZddlmZddlmZddlZddlZddlm Z Gdd„de ƒZ dS)é)Ú convert_path)Úlog)ÚDistutilsOptionErrorN)ÚCommandc@s8eZdZdZdZgd¢ZgZdd„Zdd„Zdd „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)ÚmatchÚdist_dirÚkeep)Úself©rú’/builddir/build/BUILDROOT/alt-python310-setuptools-58.3.0-2.el8.x86_64/opt/alt/python310/lib/python3.10/site-packages/setuptools/command/rotate.pyÚinitialize_optionss zrotate.initialize_optionsc CsŒ|jdur tdƒ‚|jdurtdƒ‚zt|jƒ|_Wnty+}ztdƒ|‚d}~wwt|jtƒr>dd„|j d¡Dƒ|_| 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| ¡ƒ‘qSr)rÚstrip)Ú.0ÚprrrÚ (s ÿz+rotate.finalize_options..ú,Úbdist)r r ) r rr ÚintÚ ValueErrorÚ isinstanceÚstrÚsplitÚset_undefined_options)r ÚerrrÚfinalize_optionss" ÿ  €ÿ  ÿzrotate.finalize_optionscCsÌ| d¡ddlm}|jD]U}|j ¡d|}|tj |j|¡ƒ}dd„|Dƒ}|  ¡|  ¡t   dt |ƒ|¡||jd…}|D]\}}t   d|¡|jsbtj |¡r]t |¡qDt |¡qDqdS) NÚegg_infor)ÚglobÚ*cSsg|] }tj |¡|f‘qSr)ÚosÚpathÚgetmtime)rÚfrrrr4szrotate.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)r r ÚpatternÚfilesÚtr%rrrÚrun-s&        €ú÷z rotate.runN) Ú__name__Ú __module__Ú __qualname__Ú__doc__Ú descriptionÚ user_optionsÚboolean_optionsrrr6rrrrr s r) Údistutils.utilrÚ distutilsrÚdistutils.errorsrr"r0Ú setuptoolsrrrrrrÚs