
1,^c           @   s|  d  Z  d d l m Z d d l m Z d d l m Z d d l m	 Z	 d d l Z d d l Z d d l
 Z
 d d l Z d d l Z d d l Z d d l Z 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 m Z d d l m Z d d l m Z d d l m Z d d l m Z m  Z  m! Z! m" Z" m# Z# m$ Z$ m% Z% m& Z& d d l' j( Z( d d l) m* Z* d d l m+ Z+ d d l m, Z, d   Z- d d( d     YZ. d e. e f d     YZ/ d e f d     YZ d e f d     YZ0 d   Z1 d   Z2 d   Z3 d   Z4 d   Z5 d    Z6 d!   Z7 d"   Z8 e9 d#  Z: d$   Z; d%   Z< d& e, f d'     YZ= d S()   sU   setuptools.command.egg_info

Create a distribution's .egg-info directory and contentsi(   t   FileList(   t   DistutilsInternalError(   t   convert_path(   t   logN(   t   six(   t   map(   t   Command(   t   sdist(   t   walk_revctrl(   t   edit_config(   t	   bdist_egg(   t   parse_requirementst	   safe_namet   parse_versiont   safe_versiont   yield_linest
   EntryPointt   iter_entry_pointst   to_filename(   t   glob(   t	   packaging(   t   SetuptoolsDeprecationWarningc         C   s  d } |  j  t j j  } t j t j  } d | f } xt |  D]\ } } | t |  d k } | d k r | r | d 7} qG | d | | f 7} qG n  d } t |  }	 x| |	 k  rA| | }
 |
 d k r | | d 7} nJ|
 d	 k r| | 7} n1|
 d
 k r!| d } | |	 k  rB| | d k rB| d } n  | |	 k  rk| | d k rk| d } n  x* | |	 k  r| | d k r| d } qnW| |	 k r| t j |
  7} q4| | d | !} d } | d d k rd } | d } n  | t j |  7} | d | f 7} | } n | t j |
  7} | d 7} q W| sG | | 7} qG qG W| d 7} t j | d t j	 t j
 BS(   s   
    Translate a file path glob like '*.txt' in to a regular expression.
    This differs from fnmatch.translate which allows wildcards to match
    directory separators. It also knows about '**/' which matches any number of
    directories.
    t    s   [^%s]i   s   **s   .*s
   (?:%s+%s)*i    t   *t   ?t   [t   !t   ]t   ^s   [%s]s   \Zt   flags(   t   splitt   ost   patht   sept   ret   escapet	   enumeratet   lent   compilet	   MULTILINEt   DOTALL(   R   t   patt   chunksR!   t
   valid_chart   ct   chunkt
   last_chunkt   it	   chunk_lent   chart   inner_it   innert
   char_class(    (    s:   lib/python2.7/site-packages/setuptools/command/egg_info.pyt   translate_pattern$   sV    

	
t
   InfoCommonc           B   sA   e  Z d Z d Z e d     Z d   Z d   Z e e  Z	 RS(   c         C   s   t  |  j j    S(   N(   R   t   distributiont   get_name(   t   self(    (    s:   lib/python2.7/site-packages/setuptools/command/egg_info.pyt   name{   s    c         C   sE   |  j  j   } |  j r4 | j |  j  r4 t |  St | |  j  S(   N(   R7   t   get_versiont   vtagst   endswithR   (   R9   t   version(    (    s:   lib/python2.7/site-packages/setuptools/command/egg_info.pyt   tagged_version   s    
c         C   sB   d } |  j  r | |  j  7} n  |  j r> | t j d  7} n  | S(   NR   s   -%Y%m%d(   t	   tag_buildt   tag_datet   timet   strftime(   R9   R>   (    (    s:   lib/python2.7/site-packages/setuptools/command/egg_info.pyt   tags   s    		N(
   t   __name__t
   __module__t   NoneR@   RA   t   propertyR:   R?   RD   R<   (    (    (    s:   lib/python2.7/site-packages/setuptools/command/egg_info.pyR6   w   s   		t   egg_infoc           B   s   e  Z d  Z d d d d g Z d g Z i d d
 6Z d   Z e d    Z e j	 d    Z d   Z
 d   Z e d  Z d   Z d   Z d   Z d   Z d   Z RS(   s+   create a distribution's .egg-info directorys	   egg-base=t   esL   directory containing .egg-info directories (default: top of the source tree)s   tag-datet   ds0   Add date stamp (e.g. 20050528) to version numbers
   tag-build=t   bs-   Specify explicit tag to add to version numbers   no-datet   Ds"   Don't include date stamp [default]c         C   s1   d  |  _ d  |  _ d  |  _ d  |  _ t |  _ d  S(   N(   RG   t   egg_baset   egg_nameRI   t   egg_versiont   Falset   broken_egg_info(   R9   (    (    s:   lib/python2.7/site-packages/setuptools/command/egg_info.pyt   initialize_options   s
    				c         C   s   d  S(   N(    (   R9   (    (    s:   lib/python2.7/site-packages/setuptools/command/egg_info.pyt   tag_svn_revision   s    c         C   s   d  S(   N(    (   R9   t   value(    (    s:   lib/python2.7/site-packages/setuptools/command/egg_info.pyRT      s    c         C   s@   t  j   } |  j   | d <d | d <t | t d |   d S(   s   
        Materialize the value of date into the
        build tag. Install build keys in a deterministic order
        to avoid arbitrary reordering on subsequent builds.
        R@   i    RA   RI   N(   t   collectionst   OrderedDictRD   R	   t   dict(   R9   t   filenameRI   (    (    s:   lib/python2.7/site-packages/setuptools/command/egg_info.pyt   save_version_info   s    
c         C   s  |  j  |  _ |  j   |  _ t |  j  } yK t | t j j  } | rN d n d } t	 t
 | |  j |  j f   Wn3 t k
 r t j j d |  j |  j f   n X|  j d  k r |  j j } | p i  j d t j  |  _ n  |  j d  t |  j  d |  _ |  j t j k r=t j j |  j |  j  |  _ n  d |  j k rY|  j   n  |  j |  j j _ |  j j } | d  k	 r| j |  j j   k r|  j | _  t |  j  | _! d  |  j _ n  d  S(   Ns   %s==%ss   %s===%ss2   Invalid distribution name or version syntax: %s-%sR   RN   s	   .egg-infot   -("   R:   RO   R?   RP   R   t
   isinstanceR   R>   t   Versiont   listR   t
   ValueErrort	   distutilst   errorst   DistutilsOptionErrorRN   RG   R7   t   package_dirt   getR   t   curdirt   ensure_dirnameR   RI   R    t   joint   check_broken_egg_infot   metadatat   _patched_distt   keyt   lowert   _versiont   _parsed_version(   R9   t   parsed_versiont
   is_versiont   spect   dirst   pd(    (    s:   lib/python2.7/site-packages/setuptools/command/egg_info.pyt   finalize_options   s6    !	!!$c         C   sl   | r |  j  | | |  nL t j j |  rh | d k rX | rX t j d | |  d S|  j |  n  d S(   s  Write `data` to `filename` or delete if empty

        If `data` is non-empty, this routine is the same as ``write_file()``.
        If `data` is empty but not ``None``, this is the same as calling
        ``delete_file(filename)`.  If `data` is ``None``, then this is a no-op
        unless `filename` exists, in which case a warning is issued about the
        orphaned file (if `force` is false), or deleted (if `force` is true).
        s$   %s not set in setup(), but %s existsN(   t
   write_fileR   R    t   existsRG   R   t   warnt   delete_file(   R9   t   whatRY   t   datat   force(    (    s:   lib/python2.7/site-packages/setuptools/command/egg_info.pyt   write_or_delete_file   s    	c         C   sd   t  j d | |  t j r. | j d  } n  |  j s` t | d  } | j |  | j   n  d S(   s   Write `data` to `filename` (if not a dry run) after announcing it

        `what` is used in a log message to identify what is being written
        to the file.
        s   writing %s to %ss   utf-8t   wbN(	   R   t   infoR   t   PY3t   encodet   dry_runt   opent   writet   close(   R9   Ry   RY   Rz   t   f(    (    s:   lib/python2.7/site-packages/setuptools/command/egg_info.pyRu     s    		c         C   s-   t  j d |  |  j s) t j |  n  d S(   s8   Delete `filename` (if not a dry run) after announcing its   deleting %sN(   R   R~   R   R   t   unlink(   R9   RY   (    (    s:   lib/python2.7/site-packages/setuptools/command/egg_info.pyRx     s    	c         C   s   |  j  |  j  t j |  j d   |  j j } xX t d  D]J } | j d |  | j	   } | |  | j
 t j j |  j | j
   q< Wt j j |  j d  } t j j |  r |  j |  n  |  j   d  S(   Ns   egg_info.writerst	   installers   native_libs.txt(   t   mkpathRI   R   t   utimeRG   R7   t   fetch_build_eggR   t   requiret   resolveR:   R    Rg   Rv   Rx   t   find_sources(   R9   R   t   ept   writert   nl(    (    s:   lib/python2.7/site-packages/setuptools/command/egg_info.pyt   run  s    ,c         C   sJ   t  j j |  j d  } t |  j  } | | _ | j   | j |  _ d S(   s"   Generate SOURCES.txt manifest files   SOURCES.txtN(	   R   R    Rg   RI   t   manifest_makerR7   t   manifestR   t   filelist(   R9   t   manifest_filenamet   mm(    (    s:   lib/python2.7/site-packages/setuptools/command/egg_info.pyR   *  s
    	
c         C   s   |  j  d } |  j t j k r: t j j |  j |  } n  t j j |  r t j d d d d d | |  j	  |  j	 |  _
 | |  _	 n  d  S(   Ns	   .egg-infoR[   iN   s   
Note: Your current .egg-info directory has a '-' in its name;
this will not work correctly with "setup.py develop".

Please rename %s to %s to correct this problem.
(   RO   RN   R   Re   R    Rg   Rv   R   Rw   RI   RR   (   R9   t   bei(    (    s:   lib/python2.7/site-packages/setuptools/command/egg_info.pyRh   2  s    (   s	   egg-base=RJ   sL   directory containing .egg-info directories (default: top of the source tree)(   s   tag-dateRK   s0   Add date stamp (e.g. 20050528) to version number(   s
   tag-build=RL   s-   Specify explicit tag to add to version number(   s   no-dateRM   s"   Don't include date stamp [default](   RE   RF   t   descriptiont   user_optionst   boolean_optionst   negative_optRS   RH   RT   t   setterRZ   Rt   RQ   R|   Ru   Rx   R   R   Rh   (    (    (    s:   lib/python2.7/site-packages/setuptools/command/egg_info.pyRI      s&   		
	
		1				R    c           B   s   e  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d	   Z d
   Z d   Z d   Z d   Z RS(   c         C   s  |  j  |  \ } } } } | d k rw |  j d d j |   x| D]( } |  j |  sH t j d |  qH qH Wnx| d k r |  j d d j |   xO| D]( } |  j |  s t j d |  q q Wn| d k r/|  j d	 d j |   x| D]( } |  j |  s t j d
 |  q q Wn| d k r|  j d d j |   x| D]( } |  j |  s\t j d |  q\q\Wnd| d k r|  j d | d j |  f  x5| D]. } |  j	 | |  st j d | |  qqWn | d k r[|  j d | d j |  f  x | D]. } |  j
 | |  s&t j d | |  q&q&Wn | d k r|  j d |  |  j |  st j d |  qnR | d k r|  j d |  |  j |  st j d |  qn t d |   d  S(   Nt   includes   include t    s%   warning: no files found matching '%s't   excludes   exclude s9   warning: no previously-included files found matching '%s's   global-includes   global-include s>   warning: no files found matching '%s' anywhere in distributions   global-excludes   global-exclude sR   warning: no previously-included files matching '%s' found anywhere in distributions   recursive-includes   recursive-include %s %ss:   warning: no files found matching '%s' under directory '%s's   recursive-excludes   recursive-exclude %s %ssN   warning: no previously-included files matching '%s' found under directory '%s't   grafts   graft s+   warning: no directories found matching '%s't   prunes   prune s6   no previously-included directories found matching '%s's'   this cannot happen: invalid action '%s'(   t   _parse_template_linet   debug_printRg   R   R   Rw   R   t   global_includet   global_excludet   recursive_includet   recursive_excludeR   R   R   (   R9   t   linet   actiont   patternst   dirt   dir_patternt   pattern(    (    s:   lib/python2.7/site-packages/setuptools/command/egg_info.pyt   process_template_lineE  sd    									c         C   sr   t  } xe t t |  j  d d d  D]D } | |  j |  r& |  j d |  j |  |  j | =t } q& q& W| S(   s   
        Remove all files from the file list that match the predicate.
        Return True if any matching files were removed
        i   is
    removing (   RQ   t   rangeR%   t   filesR   t   True(   R9   t	   predicatet   foundR/   (    (    s:   lib/python2.7/site-packages/setuptools/command/egg_info.pyt   _remove_files  s    &
c         C   sH   g  t  |  D] } t j j |  s | ^ q } |  j |  t |  S(   s#   Include files that match 'pattern'.(   R   R   R    t   isdirt   extendt   bool(   R9   R   R   R   (    (    s:   lib/python2.7/site-packages/setuptools/command/egg_info.pyR     s    1c         C   s   t  |  } |  j | j  S(   s#   Exclude files that match 'pattern'.(   R5   R   t   match(   R9   R   R   (    (    s:   lib/python2.7/site-packages/setuptools/command/egg_info.pyR     s    c         C   sf   t  j j | d |  } g  t | d t D] } t  j j |  s+ | ^ q+ } |  j |  t |  S(   sN   
        Include all files anywhere in 'dir/' that match the pattern.
        s   **t	   recursive(   R   R    Rg   R   R   R   R   R   (   R9   R   R   t   full_patternR   R   (    (    s:   lib/python2.7/site-packages/setuptools/command/egg_info.pyR     s
    c         C   s.   t  t j j | d |   } |  j | j  S(   sM   
        Exclude any file anywhere in 'dir/' that match the pattern.
        s   **(   R5   R   R    Rg   R   R   (   R9   R   R   R   (    (    s:   lib/python2.7/site-packages/setuptools/command/egg_info.pyR     s    c         C   sO   g  t  |  D]% } t j j |  D] } | ^ q# q } |  j |  t |  S(   s   Include all files from 'dir/'.(   R   R`   R   t   findallR   R   (   R9   R   t	   match_dirt   itemR   (    (    s:   lib/python2.7/site-packages/setuptools/command/egg_info.pyR     s
    %c         C   s+   t  t j j | d   } |  j | j  S(   s   Filter out files from 'dir/'.s   **(   R5   R   R    Rg   R   R   (   R9   R   R   (    (    s:   lib/python2.7/site-packages/setuptools/command/egg_info.pyR     s    c         C   sy   |  j  d k r |  j   n  t t j j d |   } g  |  j  D] } | j |  rA | ^ qA } |  j |  t	 |  S(   s   
        Include all files anywhere in the current directory that match the
        pattern. This is very inefficient on large file trees.
        s   **N(
   t   allfilesRG   R   R5   R   R    Rg   R   R   R   (   R9   R   R   R   R   (    (    s:   lib/python2.7/site-packages/setuptools/command/egg_info.pyR     s    +c         C   s+   t  t j j d |   } |  j | j  S(   sD   
        Exclude all files anywhere that match the pattern.
        s   **(   R5   R   R    Rg   R   R   (   R9   R   R   (    (    s:   lib/python2.7/site-packages/setuptools/command/egg_info.pyR     s    c         C   sN   | j  d  r | d  } n  t |  } |  j |  rJ |  j j |  n  d  S(   Ns   i(   R=   R   t
   _safe_pathR   t   append(   R9   R   R    (    (    s:   lib/python2.7/site-packages/setuptools/command/egg_info.pyR     s
    c         C   s    |  j  j t |  j |   d  S(   N(   R   R   t   filterR   (   R9   t   paths(    (    s:   lib/python2.7/site-packages/setuptools/command/egg_info.pyR     s    c         C   s"   t  t |  j |  j   |  _ d S(   s   
        Replace self.files with only safe paths

        Because some owners of FileList manipulate the underlying
        ``files`` attribute directly, this method must be called to
        repair those paths.
        N(   R^   R   R   R   (   R9   (    (    s:   lib/python2.7/site-packages/setuptools/command/egg_info.pyt   _repair  s    c         C   s   d } t  j |  } | d  k r6 t j d |  t St  j | d  } | d  k rk t j | | d  t Sy, t j j	 |  s t j j	 |  r t
 SWn* t k
 r t j | | t j    n Xd  S(   Ns!   '%s' not %s encodable -- skippings'   '%s' in unexpected encoding -- skippings   utf-8(   t   unicode_utilst   filesys_decodeRG   R   Rw   RQ   t
   try_encodeR   R    Rv   R   t   UnicodeEncodeErrort   syst   getfilesystemencoding(   R9   R    t   enc_warnt   u_patht	   utf8_path(    (    s:   lib/python2.7/site-packages/setuptools/command/egg_info.pyR     s    $(   RE   RF   R   R   R   R   R   R   R   R   R   R   R   R   R   R   (    (    (    s:   lib/python2.7/site-packages/setuptools/command/egg_info.pyR    B  s   	I				
		
						
R   c           B   se   e  Z d  Z d   Z d   Z d   Z d   Z d   Z d   Z e	 d    Z
 d   Z d	   Z RS(
   s   MANIFEST.inc         C   s(   d |  _  d |  _ d |  _ d |  _ d  S(   Ni   (   t   use_defaultsR   t   manifest_onlyt   force_manifest(   R9   (    (    s:   lib/python2.7/site-packages/setuptools/command/egg_info.pyRS   	  s    			c         C   s   d  S(   N(    (   R9   (    (    s:   lib/python2.7/site-packages/setuptools/command/egg_info.pyRt     s    c         C   s   t    |  _ t j j |  j  s. |  j   n  |  j   t j j |  j  rZ |  j	   n  |  j
   |  j j   |  j j   |  j   d  S(   N(   R    R   R   R    Rv   R   t   write_manifestt   add_defaultst   templatet   read_templatet   prune_file_listt   sortt   remove_duplicates(   R9   (    (    s:   lib/python2.7/site-packages/setuptools/command/egg_info.pyR     s    

c         C   s"   t  j |  } | j t j d  S(   Nt   /(   R   R   t   replaceR   R!   (   R9   R    (    (    s:   lib/python2.7/site-packages/setuptools/command/egg_info.pyt   _manifest_normalize  s    c         C   sb   |  j  j   g  |  j  j D] } |  j |  ^ q } d |  j } |  j t |  j | f |  d S(   so   
        Write the file list in 'self.filelist' to the manifest file
        named by 'self.manifest'.
        s   writing manifest file '%s'N(   R   R   R   R   R   t   executeRu   (   R9   R   R   t   msg(    (    s:   lib/python2.7/site-packages/setuptools/command/egg_info.pyR   "  s    (c         C   s&   |  j  |  s" t j |  |  n  d  S(   N(   t   _should_suppress_warningR   Rw   (   R9   R   (    (    s:   lib/python2.7/site-packages/setuptools/command/egg_info.pyRw   .  s    c         C   s   t  j d |   S(   s;   
        suppress missing-file warnings from sdist
        s   standard file .*not found(   R"   R   (   R   (    (    s:   lib/python2.7/site-packages/setuptools/command/egg_info.pyR   2  s    c         C   s   t  j |   |  j   |  j j |  j  |  j j |  j  t t    } | re |  j j	 |  n" t
 j j |  j  r |  j   n  t
 j j d  r |  j j d  n  |  j d  } |  j j | j  d  S(   Ns   setup.pyRI   (   R   R   t   check_licenseR   R   R   R   R^   R   R   R   R    Rv   t   read_manifestt   get_finalized_commandR   RI   (   R9   t   rcfilest   ei_cmd(    (    s:   lib/python2.7/site-packages/setuptools/command/egg_info.pyR   9  s    
c         C   sy   |  j  d  } |  j j   } |  j j | j  |  j j |  t j t j	  } |  j j
 d | d | d d d  S(   Nt   builds   (^|s   )(RCS|CVS|\.svn)t   is_regexi   (   R   R7   t   get_fullnameR   R   t
   build_baseR"   R#   R   R!   t   exclude_pattern(   R9   R   t   base_dirR!   (    (    s:   lib/python2.7/site-packages/setuptools/command/egg_info.pyR   L  s    (   RE   RF   R   RS   Rt   R   R   R   Rw   t   staticmethodR   R   R   (    (    (    s:   lib/python2.7/site-packages/setuptools/command/egg_info.pyR     s   							c         C   sG   d j  |  } | j d  } t |  d   } | j |  Wd QXd S(   s{   Create a file with the specified name and write 'contents' (a
    sequence of strings without line terminators) to it.
    s   
s   utf-8R}   N(   Rg   R   R   R   (   RY   t   contentsR   (    (    s:   lib/python2.7/site-packages/setuptools/command/egg_info.pyRu   V  s    c         C   s   t  j d |  |  j s |  j j } |  j | j | _ } |  j | j | _ } z | j	 |  j
  Wd  | | | _ | _ Xt |  j d d   } t j |  j
 |  n  d  S(   Ns
   writing %st   zip_safe(   R   R~   R   R7   Ri   RP   R>   RO   R:   t   write_pkg_infoRI   t   getattrRG   R
   t   write_safety_flag(   t   cmdt   basenameRY   Ri   t   oldvert   oldnamet   safe(    (    s:   lib/python2.7/site-packages/setuptools/command/egg_info.pyR   c  s    	c         C   s&   t  j j |  r" t j d  n  d  S(   Nss   WARNING: 'depends.txt' is not used by setuptools 0.6!
Use the install_requires/extras_require setup() args instead.(   R   R    Rv   R   Rw   (   R   R   RY   (    (    s:   lib/python2.7/site-packages/setuptools/command/egg_info.pyt   warn_depends_obsoletev  s    c         C   s;   t  | p d  } d   } t | |  } |  j |  d  S(   Nc         S   s   |  d S(   Ns   
(    (   R   (    (    s:   lib/python2.7/site-packages/setuptools/command/egg_info.pyt   <lambda>  s    (    (   R   R   t
   writelines(   t   streamt   reqst   linest	   append_cr(    (    s:   lib/python2.7/site-packages/setuptools/command/egg_info.pyt   _write_requirements~  s    	c         C   s   |  j  } t j   } t | | j  | j p1 i  } x> t |  D]0 } | j d j t	      t | | |  qA W|  j
 d | | j    d  S(   Ns   
[{extra}]
t   requirements(   R7   R   t   StringIOR   t   install_requirest   extras_requiret   sortedR   t   formatt   varsR|   t   getvalue(   R   R   RY   t   distRz   R   t   extra(    (    s:   lib/python2.7/site-packages/setuptools/command/egg_info.pyt   write_requirements  s    	c         C   s<   t  j   } t | |  j j  |  j d | | j    d  S(   Ns   setup-requirements(   t   ioR   R   R7   t   setup_requiresR|   R  (   R   R   RY   Rz   (    (    s:   lib/python2.7/site-packages/setuptools/command/egg_info.pyt   write_setup_requirements  s    c         C   se   t  j g  |  j j   D] } | j d d  d ^ q  } |  j d | d j t |   d  d  S(   Nt   .i   i    s   top-level namess   
(   RX   t   fromkeysR7   t   iter_distribution_namesR   Ru   Rg   R   (   R   R   RY   t   kt   pkgs(    (    s:   lib/python2.7/site-packages/setuptools/command/egg_info.pyt   write_toplevel_names  s    2c         C   s   t  |  | | t  d  S(   N(   t	   write_argR   (   R   R   RY   (    (    s:   lib/python2.7/site-packages/setuptools/command/egg_info.pyt   overwrite_arg  s    c         C   sg   t  j j |  d } t |  j | d   } | d  k	 rM d j |  d } n  |  j | | | |  d  S(   Ni    s   
(   R   R    t   splitextR   R7   RG   Rg   R|   (   R   R   RY   R{   t   argnameRU   (    (    s:   lib/python2.7/site-packages/setuptools/command/egg_info.pyR    s
    c         C   s   |  j  j } t | t j  s* | d  k r3 | } n | d  k	 r g  } x t | j    D]n \ } } t | t j  s t j	 | |  } d j
 t t t | j      } n  | j d | | f  qX Wd j
 |  } n  |  j d | | t  d  S(   Ns   
s	   [%s]
%s

R   s   entry points(   R7   t   entry_pointsR\   R   t   string_typesRG   R   t   itemsR   t   parse_groupRg   R   t   strt   valuesR   R|   R   (   R   R   RY   R   Rz   t   sectionR   (    (    s:   lib/python2.7/site-packages/setuptools/command/egg_info.pyt   write_entries  s    	'c          C   s}   t  j d t  t j j d  ry t j d  C }  x9 |  D]1 } t j	 d |  } | r; t
 | j d   Sq; WWd QXn  d S(   sd   
    Get a -r### off of PKG-INFO Version in case this is an sdist of
    a subversion revision.
    s$   get_pkg_info_revision is deprecated.s   PKG-INFOs   Version:.*-r(\d+)\s*$i   Ni    (   t   warningsRw   t   EggInfoDeprecationWarningR   R    Rv   R  R   R"   R   t   intt   group(   R   R   R   (    (    s:   lib/python2.7/site-packages/setuptools/command/egg_info.pyt   get_pkg_info_revision  s     R  c           B   s   e  Z d  Z RS(   sq   Class for warning about deprecations in eggInfo in setupTools. Not ignored by default, unlike DeprecationWarning.(   RE   RF   t   __doc__(    (    (    s:   lib/python2.7/site-packages/setuptools/command/egg_info.pyR    s   (    (>   R   t   distutils.filelistR    t	   _FileListt   distutils.errorsR   t   distutils.utilR   R`   R   R   R"   R   R  R  RB   RV   t   setuptools.externR   t   setuptools.extern.six.movesR   t
   setuptoolsR   t   setuptools.command.sdistR   R   t   setuptools.command.setoptR	   t   setuptools.commandR
   t   pkg_resourcesR   R   R   R   R   R   R   R   t   setuptools.unicode_utilsR   t   setuptools.globR   R   R   R5   R6   RI   R   Ru   R   R   R   R  R  R  R  RQ   R  R  R  R  (    (    (    s:   lib/python2.7/site-packages/setuptools/command/egg_info.pyt   <module>   sT   :	SP							
			