a Ðöøctã@s`ddlmZddlmZddlmZddlZddlZddlm Z ddl m Z Gdd„de ƒZ dS) é)Ú convert_path)Úlog)ÚDistutilsOptionErrorN)Úsix)Ú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úf/workspaces/shunt/resources/test-fastapi/venv/lib/python3.9/site-packages/setuptools/command/rotate.pyÚinitialize_optionsszrotate.initialize_optionscCs†|jdurtdƒ‚|jdur$tdƒ‚zt|jƒ|_WntyNtdƒ‚Yn0t|jtjƒrvdd„|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Ú *sz+rotate.finalize_options..ú,Úbdist)r r ) r rr ÚintÚ ValueErrorÚ isinstancerÚ string_typesÚsplitÚset_undefined_optionsrrrrÚfinalize_optionss ÿ   ÿzrotate.finalize_optionscCsÌ| d¡ddlm}|jD]ª}|j ¡d|}|tj |j|¡ƒ}dd„|Dƒ}|  ¡|  ¡t   dt |ƒ|¡||jd…}|D]<\}}t   d|¡|jsˆtj |¡rºt |¡qˆt |¡qˆqdS) NÚegg_infor)ÚglobÚ*cSsg|]}tj |¡|f‘qSr)ÚosÚpathÚgetmtime)rÚfrrrr6ózrotate.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) Ú__name__Ú __module__Ú __qualname__Ú__doc__Ú descriptionÚ user_optionsÚboolean_optionsrrr8rrrrr sr) Údistutils.utilrÚ distutilsrÚdistutils.errorsrr#r2Zsetuptools.externrÚ setuptoolsrrrrrrÚs