Ńņ
Ė®ķJc           @   sh  d  Z  d d k Z d d k Z d d k Z d d k l Z d d k Td d k l Z d d k	 l
 Z
 d d k l Z d d k l Z d d	 k l Z l Z l Z l Z l Z l Z l Z l Z d d
 k
 l Z d e f d     YZ d e f d     YZ d e
 f d     YZ d   Z d   Z d   Z d   Z d   Z d   Z  e! d  Z" d   Z# d   Z$ d S(   sU   setuptools.command.egg_info

Create a distribution's .egg-info directory and contentsi’’’’N(   t   Command(   t   *(   t   log(   t   sdist(   t   convert_path(   t   FileList(   t   parse_requirementst	   safe_namet   parse_versiont   safe_versiont   yield_linest
   EntryPointt   iter_entry_pointst   to_filename(   t   walk_revctrlt   egg_infoc           B   sµ   e  Z d  Z d d  d! d" d# d$ g Z d d g Z h d d 6d d 6Z d   Z d   Z d   Z e	 d  Z
 d   Z d   Z 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-svn-revisiont   rs,   Add subversion revision ID to version numbers   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-svn-revisiont   Rs*   Don't add subversion revision ID [default]s   no-datet   Ds"   Don't include date stamp [default]c         C   sU   d  |  _ d  |  _ d  |  _ d  |  _ d  |  _ d |  _ d |  _ t |  _	 d  |  _
 d  S(   Ni    (   t   Nonet   egg_namet   egg_versiont   egg_baseR   t	   tag_buildt   tag_svn_revisiont   tag_datet   Falset   broken_egg_infot   vtags(   t   self(    (    s?   /usr/lib/python2.6/dist-packages/setuptools/command/egg_info.pyt   initialize_options*   s    								c         C   sC   d d k  l } | | h h d d 6d d 6|  i   d 6d 6 d  S(   Ni’’’’(   t   edit_configi    R   R   R   R   (   t   setoptR"   t   tags(   R    t   filenameR"   (    (    s?   /usr/lib/python2.6/dist-packages/setuptools/command/egg_info.pyt   save_version_info5   s
    c         C   s·  t  |  i i    |  _ |  i   |  _ |  i   |  _ y$ t t	 d |  i |  i f   Wn/ t
 j
 o# t d |  i |  i f   n X|  i d  j o/ |  i i } | p h  i d t i  |  _ n |  i d  t |  i  d |  _ |  i t i j o" t i i |  i |  i  |  _ n d |  i j o |  i   n |  i |  i i _ |  i i } | d  j	 oG | i |  i i   j o. |  i | _ t |  i  | _ d  |  i _ n d  S(   Ns   %s==%ss2   Invalid distribution name or version syntax: %s-%st    R   s	   .egg-infot   -(    R   t   distributiont   get_nameR   R$   R   t   tagged_versionR   t   listR   t
   ValueErrort   DistutilsOptionErrorR   R   t   package_dirt   gett   ost   curdirt   ensure_dirnameR   R   t   patht   joint   check_broken_egg_infot   metadatat   versiont   _patched_distt   keyt   lowert   _versionR   t   _parsed_version(   R    t   dirst   pd(    (    s?   /usr/lib/python2.6/dist-packages/setuptools/command/egg_info.pyt   finalize_optionsS   s2    !#" &c         C   ss   | o |  i  | | |  nR t i i |  o> | d j o  | o t i d | |  d S|  i |  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_fileR1   R4   t   existsR   R   t   warnt   delete_file(   R    t   whatR%   t   datat   force(    (    s?   /usr/lib/python2.6/dist-packages/setuptools/command/egg_info.pyt   write_or_delete_file|   s    	c         C   sn   t  i d | |  t i d j o | i d  } n |  i p* t | d  } | i |  | i   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 %si   s   utf-8t   wbN(   i   (	   R   t   infot   syst   version_infot   encodet   dry_runt   opent   writet   close(   R    RE   R%   RF   t   f(    (    s?   /usr/lib/python2.6/dist-packages/setuptools/command/egg_info.pyRA      s    
c         C   s/   t  i d |  |  i p t i |  n d S(   s8   Delete `filename` (if not a dry run) after announcing its   deleting %sN(   R   RJ   RN   R1   t   unlink(   R    R%   (    (    s?   /usr/lib/python2.6/dist-packages/setuptools/command/egg_info.pyRD      s    
c         C   s   t  |  i i   |  i  S(   N(   R	   R)   t   get_versionR   (   R    (    (    s?   /usr/lib/python2.6/dist-packages/setuptools/command/egg_info.pyR+   ¤   s    c         C   s·   |  i  |  i  |  i i } xN t d  D]@ } | i d |  } | |  | i t i i	 |  i | i   q) Wt i i	 |  i d  } t i i
 |  o |  i |  n |  i   d  S(   Ns   egg_info.writerst	   installers   native_libs.txt(   t   mkpathR   R)   t   fetch_build_eggR   t   loadt   nameR1   R4   R5   RB   RD   t   find_sources(   R    RU   t   ept   writert   nl(    (    s?   /usr/lib/python2.6/dist-packages/setuptools/command/egg_info.pyt   run§   s     ,c         C   s   d } |  i  o | |  i  7} n |  i o> t i i d  p t i i d  o | d |  i   7} n |  i o# d d  k } | | i d  7} n | S(   NR'   s   .svns   PKG-INFOs   -r%si’’’’s   -%Y%m%d(	   R   R   R1   R4   RB   t   get_svn_revisionR   t   timet   strftime(   R    R8   R`   (    (    s?   /usr/lib/python2.6/dist-packages/setuptools/command/egg_info.pyR$   µ   s    

&
 c         C   sS  d } t  i d  } t  i d  } xt i t i  D]\ } } } d | j o g  | (q7 n | i d  t t i i | d d   } | i	   } | i
   | i d  p  | i d  p | i d  o t t i | i d	   } | d d =| d d
 }	 t g  }
 | D]9 } t |  d j o  | d o |
 t | d  qq~
 d g  } n | i d  ob | i |  i d  }	 t g  } | i |  D] } | t | i d   q£~ d g  } n t i d |  g  | (q7 | t i j o |	 d } n |	 i |  p g  | (q7 n t | |  } q7 Wt | p t    S(   Ni    s   url="([^"]+)"s   committed-rev="(\d+)"s   .svnt   entriest   10t   9t   8s   

i   i	   s   <?xmli   s-   unrecognized .svn/entries format; skipping %st   /(   t   ret   compileR1   t   walkR2   t   removeRO   R4   R5   t   readRQ   t
   startswitht   mapt   strt
   splitlinest   splitt   maxt   lent   intt   searcht   groupt   finditerR   RC   t   get_pkg_info_revision(   R    t   revisiont   urlret   revret   baseR>   t   filesRR   RF   t   dirurlt   _[1]R   t   localrevt   _[2]t   mt   base_url(    (    s?   /usr/lib/python2.6/dist-packages/setuptools/command/egg_info.pyR_   Š   s<     
0^Jc         C   sJ   t  i i |  i d  } t |  i  } | | _ | i   | i |  _ d S(   s"   Generate SOURCES.txt manifest files   SOURCES.txtN(	   R1   R4   R5   R   t   manifest_makerR)   t   manifestR^   t   filelist(   R    t   manifest_filenamet   mm(    (    s?   /usr/lib/python2.6/dist-packages/setuptools/command/egg_info.pyRZ   ł   s
    	
c         C   s   |  i  d } |  i t i j o t i i |  i |  } n t i i |  o? t i d d d d d | |  i	  |  i	 |  _
 | |  _	 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.
(   R   R   R1   R2   R4   R5   RB   R   RC   R   R   (   R    t   bei(    (    s?   /usr/lib/python2.6/dist-packages/setuptools/command/egg_info.pyR6     s    (   s	   egg-base=R   sL   directory containing .egg-info directories (default: top of the source tree)(   s   tag-svn-revisionR   s,   Add subversion revision ID to version number(   s   tag-dateR   s0   Add date stamp (e.g. 20050528) to version number(   s
   tag-build=R   s-   Specify explicit tag to add to version number(   s   no-svn-revisionR   s*   Don't add subversion revision ID [default](   s   no-dateR   s"   Don't include date stamp [default](   t   __name__t
   __module__t   descriptiont   user_optionst   boolean_optionst   negative_optR!   R&   R@   R   RH   RA   RD   R+   R^   R$   R_   RZ   R6   (    (    (    s?   /usr/lib/python2.6/dist-packages/setuptools/command/egg_info.pyR      s0     	

			)						)	R   c           B   s   e  Z d  Z d   Z RS(   s@   File list that accepts only existing, platform-independent pathsc         C   sU   | i  d  o | d  } n t |  } t i i |  o |  i i |  n d  S(   Ns   i’’’’(   t   endswithR   R1   R4   RB   R|   t   append(   R    t   itemR4   (    (    s?   /usr/lib/python2.6/dist-packages/setuptools/command/egg_info.pyR     s
    (   R   R   t   __doc__R   (    (    (    s?   /usr/lib/python2.6/dist-packages/setuptools/command/egg_info.pyR     s   R   c           B   sM   e  Z d  Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 RS(   s   MANIFEST.inc         C   s(   d |  _  d |  _ d |  _ d |  _ d  S(   Ni   (   t   use_defaultst   prunet   manifest_onlyt   force_manifest(   R    (    (    s?   /usr/lib/python2.6/dist-packages/setuptools/command/egg_info.pyR!   &  s    			c         C   s   d  S(   N(    (   R    (    (    s?   /usr/lib/python2.6/dist-packages/setuptools/command/egg_info.pyR@   ,  s    c         C   s   t    |  _ t i i |  i  p |  i   n |  i i   |  i   t i i |  i	  o |  i
   n |  i   |  i i   |  i i   |  i   d  S(   N(   R   R   R1   R4   RB   R   t   write_manifestt   findallt   add_defaultst   templatet   read_templatet   prune_file_listt   sortt   remove_duplicates(   R    (    (    s?   /usr/lib/python2.6/dist-packages/setuptools/command/egg_info.pyR^   /  s    

c         C   sw   |  i  i } t i d j o4 g  } | D] } | | i t i d  q' ~ } n |  i t |  i | f d |  i  d S(   s²   Write the file list in 'self.filelist' (presumably as filled in
        by 'add_defaults()' and 'read_template()') to the manifest file
        named by 'self.manifest'.
        Rf   s   writing manifest file '%s'N(   R   R|   R1   t   sept   replacet   executeRA   R   (   R    R|   R~   RR   (    (    s?   /usr/lib/python2.6/dist-packages/setuptools/command/egg_info.pyR   <  s
    4c         C   s(   | i  d  p t i |  |  n d  S(   Ns   standard file not found:(   Rl   R   RC   (   R    t   msg(    (    s?   /usr/lib/python2.6/dist-packages/setuptools/command/egg_info.pyRC   G  s    c         C   s­   t  i |   |  i i |  i  |  i i |  i  t t    } | o |  i i |  n% t	 i
 i |  i  o |  i   n |  i d  } |  i i d d | i d  S(   NR   R   t   prefix(   R   R   R   R   R   R   R,   R   t   extendR1   R4   RB   t   read_manifestt   get_finalized_commandt   include_patternR   (   R    t   rcfilest   ei_cmd(    (    s?   /usr/lib/python2.6/dist-packages/setuptools/command/egg_info.pyR   K  s    c         C   s   |  i  d  } |  i i   } |  i i d  d | i |  i i d  d | t i t	 i
  } |  i i | d | d d d  S(   Nt   buildR£   s   (RCS|CVS|\.svn)t   is_regexi   (   R¦   R)   t   get_fullnameR   t   exclude_patternR   t
   build_baseRg   t   escapeR1   R   (   R    RŖ   t   base_dirR   (    (    s?   /usr/lib/python2.6/dist-packages/setuptools/command/egg_info.pyR   W  s    (
   R   R   R   R!   R@   R^   R   RC   R   R   (    (    (    s?   /usr/lib/python2.6/dist-packages/setuptools/command/egg_info.pyR   "  s   						c         C   s\   d i  |  } t i d j o | i d  } n t |  d  } | i |  | i   d S(   s{   Create a file with the specified name and write 'contents' (a
    sequence of strings without line terminators) to it.
    s   
i   s   utf-8RI   N(   i   (   R5   RK   RL   RM   RO   RP   RQ   (   R%   t   contentsRR   (    (    s?   /usr/lib/python2.6/dist-packages/setuptools/command/egg_info.pyRA   `  s    c         C   s¹   t  i d |  |  i p |  i i } |  i | i | _ } |  i | i | _ } z | i	 |  i
  Wd  | | | _ | _ Xt |  i d d   } d d  k } | i |  i
 |  n d  S(   Ns
   writing %st   zip_safei’’’’(   R   RJ   RN   R)   R7   R   R8   R   RY   t   write_pkg_infoR   t   getattrR   t	   bdist_eggt   write_safety_flag(   t   cmdt   basenameR%   R7   t   oldvert   oldnamet   safeRµ   (    (    s?   /usr/lib/python2.6/dist-packages/setuptools/command/egg_info.pyR³   w  s    
 c         C   s(   t  i i |  o t i d  n d  S(   Nss   WARNING: 'depends.txt' is not used by setuptools 0.6!
Use the install_requires/extras_require setup() args instead.(   R1   R4   RB   R   RC   (   R·   Rø   R%   (    (    s?   /usr/lib/python2.6/dist-packages/setuptools/command/egg_info.pyt   warn_depends_obsolete  s    c         C   s   |  i  } d i t | i p d   g } xJ | i p h  i   D]2 \ } } | i d | d i t |   f  qB W|  i d | d i |   d  S(   Ns   
s	   

[%s]
%st   requirementsR'   (    (   R)   R5   R
   t   install_requirest   extras_requiret   itemsR   RH   (   R·   Rø   R%   t   distRF   t   extrat   reqs(    (    s?   /usr/lib/python2.6/dist-packages/setuptools/command/egg_info.pyt   write_requirements  s    	" *c         C   sg   t  i g  } |  i i   D] } | | i d d  d q ~  } |  i d | d i |  d  d  S(   Nt   .i   i    s   top-level namess   
(   t   dictt   fromkeysR)   t   iter_distribution_namesRp   RA   R5   (   R·   Rø   R%   R~   t   kt   pkgs(    (    s?   /usr/lib/python2.6/dist-packages/setuptools/command/egg_info.pyt   write_toplevel_names  s    6c         C   s   t  |  | | t  d  S(   N(   t	   write_argt   True(   R·   Rø   R%   (    (    s?   /usr/lib/python2.6/dist-packages/setuptools/command/egg_info.pyt   overwrite_arg   s    c         C   si   t  i i |  d } t |  i | d   } | d  j	 o d i |  d } n |  i | | | |  d  S(   Ni    s   
(   R1   R4   t   splitextR“   R)   R   R5   RH   (   R·   Rø   R%   RG   t   argnamet   value(    (    s?   /usr/lib/python2.6/dist-packages/setuptools/command/egg_info.pyRĢ   £  s
    c         C   sė   |  i  i } t | t  p | d  j o
 | } n | d  j	 o g  } xu | i   D]g \ } } t | t  p4 t i | |  } d i t	 t
 | i     } n | i d | | f  qS Wd i |  } n |  i d | | t  d  S(   Ns   
s	   [%s]
%s

R'   s   entry points(   R)   t   entry_pointst
   isinstancet
   basestringR   RĄ   R   t   parse_groupR5   Rm   Rn   t   valuesR   RH   RĶ   (   R·   Rø   R%   R[   RF   t   sectionR±   (    (    s?   /usr/lib/python2.6/dist-packages/setuptools/command/egg_info.pyt   write_entriesŖ  s    
 "c          C   sr   t  i i d  o[ t d d  }  x; |  D]3 } t i d |  } | o t | i d   Sq) W|  i   n d S(   Ns   PKG-INFOt   rUs   Version:.*-r(\d+)\s*$i   i    (	   R1   R4   RB   RO   Rg   t   matchRs   Ru   RQ   (   RR   t   lineRŚ   (    (    s?   /usr/lib/python2.6/dist-packages/setuptools/command/egg_info.pyRw   ŗ  s     (%   R   R1   Rg   RK   t
   setuptoolsR    t   distutils.errorst	   distutilsR   t   setuptools.command.sdistR   t   distutils.utilR   t   distutils.filelistR   t   pkg_resourcesR   R   R   R	   R
   R   R   R   R   R   R   RA   R³   R¼   RÄ   RĖ   RĪ   R   RĢ   RŲ   Rw   (    (    (    s?   /usr/lib/python2.6/dist-packages/setuptools/command/egg_info.pyt   <module>   s*   $
:’>					
		