
    vKg                    n    S SK Jr  S SKrS SKJr  SSKJrJr  S SKJ	r	  S SK
Jr  S SKJr   " S	 S
\5      rg)    )annotationsN)ClassVar   )Command_shutil)log)DistutilsOptionError)convert_pathc                  N    \ rS rSr% SrSr/ SQr/ rS\S'   S r	SS jr
SS	 jrS
rg)rotate   zDelete older distributionsz2delete older distributions, keeping N newest files))zmatch=mzpatterns to match (required))z	dist-dir=dz%directory where the distributions are)zkeep=kz(number of matching distributions to keepzClassVar[list[str]]boolean_optionsc                .    S U l         S U l        S U l        g )N)matchdist_dirkeep)selfs    Y/var/www/highfloat_scraper/venv/lib/python3.13/site-packages/setuptools/command/rotate.pyinitialize_optionsrotate.initialize_options   s    
	    c                   U R                   c  [        S5      eU R                  c  [        S5      e [        U R                  5      U l        [        U R                   [        5      (       aG  U R                   R                  S5       Vs/ sH  n[        UR                  5       5      PM     snU l         U R                  SS5        g ! [         a  n[        S5      UeS nAff = fs  snf )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)r   r   )r   r	   r   int
ValueError
isinstancestrsplitr
   stripset_undefined_options)r   eps      r   finalize_optionsrotate.finalize_options   s    ::&*  99&'MNN	KDIIDI djj#&&;?::;K;KC;PQ;Pa,qwwy1;PQDJ""7,DE	  	K&'BCJ	K Rs   C "C#
C CC c                   U R                  S5        SSKJn  U R                   GHZ  nU R                  R	                  5       S-   U-   nU" [
        R                  R                  U R                  U5      5      nU Vs/ sH$  n[
        R                  R                  U5      U4PM&     nnUR                  5         UR                  5         [        R                  " S[        U5      U5        X0R                  S  nU H  u  pT[        R                  " SU5        U R                   (       a  M/  [
        R                  R#                  U5      (       a  [$        R&                  " U5        Mk  [
        R(                  " U5        M     GM]     g s  snf )Negg_infor   )glob*z%d file(s) matching %szDeleting %s)run_commandr+   r   distributionget_nameospathjoinr   getmtimesortreverser   infolenr   dry_runisdirr   rmtreeunlink)r   r+   patternfilesfts         r   run
rotate.run.   s   $zzG''002S87BGdmmW=>E7<=u!bgg&&q)1-uE=JJLMMOHH-s5z7C))+&E*|||ww}}Q''q)		!  " >s   <*F)r   r   r   N)returnNone)__name__
__module____qualname____firstlineno____doc__descriptionuser_optionsr   __annotations__r   r'   r@   __static_attributes__ r   r   r   r      s.    $FKL ,.O(-
F %r   r   )
__future__r   r0   typingr    r   r   	distutilsr   distutils.errorsr	   distutils.utilr
   r   rM   r   r   <module>rT      s&    " 	    1 '4%W 4%r   