ó
OyTLc           @   sl   d  d l  Z  d  d l Z d  d l m Z d  d l m Z d  d l  m Z d  d l Td e f d     YZ d S(   i˙˙˙˙N(   t   Command(   t   convert_path(   t   log(   t   *t   rotatec           B   sD   e  Z d  Z d Z d d d g Z g  Z d   Z d   Z d   Z RS(   s   Delete older distributionss2   delete older distributions, keeping N newest filess   match=t   ms   patterns to match (required)s	   dist-dir=t   ds%   directory where the distributions ares   keep=t   ks(   number of matching distributions to keepc         C   s   d  |  _ d  |  _ d  |  _ d  S(   N(   t   Nonet   matcht   dist_dirt   keep(   t   self(    (    s=   /usr/lib/python2.7/dist-packages/setuptools/command/rotate.pyt   initialize_options   s    		c         C   sĎ   |  j  d  k r t d   n  |  j d  k r< t d   n  y t |  j  |  _ Wn t k
 rq t d   n Xt |  j  t  rť g  |  j  j d  D] } t	 | j
    ^ q |  _  n  |  j d d  d  S(   NsQ   Must specify one or more (comma-separated) match patterns (e.g. '.zip' or '.egg')s$   Must specify number of files to keeps   --keep must be an integert   ,t   bdistR
   (   s   dist_dirs   dist_dir(   R	   R   t   DistutilsOptionErrorR   t   intt
   ValueErrort
   isinstancet
   basestringt   splitR   t   stript   set_undefined_options(   R   t   p(    (    s=   /usr/lib/python2.7/dist-packages/setuptools/command/rotate.pyt   finalize_options   s    7c         C   s  |  j  d  d d l m } xë |  j D]ŕ } |  j j   d | } | t j j |  j |   } g  | D] } t j j	 |  | f ^ qi } | j
   | j   t j d t |  |  | |  j } x= | D]5 \ } } t j d |  |  j sÎ t j |  qÎ qÎ Wq' Wd  S(   Nt   egg_infoi˙˙˙˙(   t   globR   s   %d file(s) matching %ss   Deleting %s(   t   run_commandR   R	   t   distributiont   get_namet   ost   patht   joinR
   t   getmtimet   sortt   reverseR   t   infot   lenR   t   dry_runt   unlink(   R   R   t   patternt   filest   ft   t(    (    s=   /usr/lib/python2.7/dist-packages/setuptools/command/rotate.pyt   run*   s    +

	(   s   match=R   s   patterns to match (required)(   s	   dist-dir=R   s%   directory where the distributions are(   s   keep=R   s(   number of matching distributions to keep(	   t   __name__t
   __module__t   __doc__t   descriptiont   user_optionst   boolean_optionsR   R   R-   (    (    (    s=   /usr/lib/python2.7/dist-packages/setuptools/command/rotate.pyR      s   			(	   t	   distutilsR   t
   setuptoolsR    t   distutils.utilR   R   t   distutils.errorsR   (    (    (    s=   /usr/lib/python2.7/dist-packages/setuptools/command/rotate.pyt   <module>   s
   
