£Á°èZ¨Ä…–K§‚«“ô4“ÒÙ´dîfUÙÃÅ WKbyÊ¦•êŽ…È®FÒ¿ÊÎóCozá¬S@6{Í:›œêZÌ:Š•_%:¢¾¾~;‘Ã~èŠ©ÊÇí`ÔÑ©úë™µ'5I¿fš×WO%ø9¾«¾DK|€ùÍD”Ýs]nHÕ¶ê×Ó¼ãžªéUWŸÈË%DÒÕ¬ï‘]/Åcx  ‰ï2ß]ä6G[]S£ÔÏ¯rs{úëóµmÒï#UQxo·õÞCe]"±/aÙ&Eã4ú9Jé_ÞåëdãöKë)AÞ                  ¯¹ægƒÛowÐø^d™ý½ßB7áyMä9ÜÖUã
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
<html>

7Re)  c               @   s  d  d l  Z  d  d l Z d  d l m Z d  d l m Z d  d l m Z m Z m	 Z	 d  d l
 m Z d  d l m Z m Z e j d  Z e j d  Z e j d	  Z e j d
  Z e j d  Z e j d  Z Gd d   d e  Z d d   Z e j e  d S(   i    N(   u   urlparse(   u   Link(   u   rmtreeu   display_pathu   call_subprocess(   u   logger(   u   vcsu   VersionControlu   url="([^"]+)"u   committed-rev="(\d+)"u	   URL: (.+)u   Revision: (.+)u   \s*revision="(\d+)"u   <url>(.*)</url>c                s   |  Ee  Z d  Z d Z d Z d Z d& Z d Z d	 Z d
 d   Z	 d d   Z
 d d   Z d d   Z d d   Z d d   Z d d   Z d d   Z   f d d   Z d d   Z d d   Z d  d!   Z d" d#   Z d' d$ d%  Z   S((   u
   Subversionu   svnu   .svnu   checkoutu   svn+sshu   svn+httpu	   svn+httpsu   svn+svnu   svn-checkout.txtug   # This was an svn checkout; to make it a checkout again run:
svn checkout --force -r %(rev)s %(url)s .
c             C   s  | j  d  j |  j  s, t d |   t |  j d | g d d d i d d 6} t j |  } | s t	 j
 d t |   t	 j d	 |  d S| j d
  j   } t j |  } | s t	 j
 d t |   t	 j d	 |  | d f S| | j d
  f S(   u/   Returns (url, revision), where both are stringsu   /u   Bad directory: %su   infou   show_stdoutu   extra_environu   Cu   LANGu'   Cannot determine URL of svn checkout %su!   Output that cannot be parsed: 
%si   u,   Cannot determine revision of svn checkout %sFN(   NN(   u   rstripu   endswithu   dirnameu   AssertionErroru   call_subprocessu   cmdu   Falseu   _svn_url_reu   searchu   loggeru   warnu   display_pathu   infou   Noneu   groupu   stripu   _svn_revision_re(   u   selfu   locationu   outputu   matchu   url(    (    u+   /tmp/pip-zej_zi-build/pip/vcs/subversion.pyu   get_info   s    ,(
u   Subversion.get_infoc             C   s   x | j    D] } | j   s | j   j d  r; q n  t j d |  } | sW d S| j d  } | | j   d   j   j d  d  d } | | f SWd S(   Nu   #u   ^-r\s*([^ ])?i   i    (   NN(   NN(	   u
   splitlinesu   stripu
   startswithu   reu   searchu   Noneu   groupu   endu   split(   u   selfu   contentu   lineu   matchu   revu   rest(    (    u+   /tmp/pip-zej_zi-build/pip/vcs/subversion.pyu   parse_vcs_bundle_file,   s    ",u    Subversion.parse_vcs_bundle_filec             C   s   |  j    \ } } t | |  } t j d | | f  t j d 7_ zS t j j |  ri t |  n  t	 |  j
 d g | | | g d |  j d d Wd t j d 8_ Xd S(   u@   Export the svn repository at the url to the destination locationu!   Exporting svn repository %s to %si   u   exportu   filter_stdoutu   show_stdoutNF(   u   get_url_revu   get_rev_optionsu   loggeru   notifyu   indentu   osu   pathu   existsu   rmtreeu   call_subprocessu   cmdu   _filteru   False(   u   selfu   locationu   urlu   revu   rev_options(    (    u+   /tmp/pip-zej_zi-build/pip/vcs/subversion.pyu   export8   s    u   Subversion.exportc             C   s%   t  |  j d g | | | g  d  S(   Nu   switch(   u   call_subprocessu   cmd(   u   selfu   destu   urlu   rev_options(    (    u+   /tmp/pip-zej_zi-build/pip/vcs/subversion.pyu   switchI   s    u   Subversion.switchc             C   s"   t  |  j d g | | g  d  S(   Nu   update(   u   call_subprocessu   cmd(   u   selfu   destu   rev_options(    (    u+   /tmp/pip-zej_zi-build/pip/vcs/subversion.pyu   updateM   s    u   Subversion.updatec             C   s   |  j    \ } } t | |  } | r4 d | } n d } |  j | | | |  r t j d | | t |  f  t |  j d d g | | | g  n  d  S(   Nu    (to revision %s)u    u   Checking out %s%s to %su   checkoutu   -q(   u   get_url_revu   get_rev_optionsu   check_destinationu   loggeru   notifyu   display_pathu   call_subprocessu   cmd(   u   selfu   destu   urlu   revu   rev_optionsu   rev_display(    (    u+   /tmp/pip-zej_zi-build/pip/vcs/subversion.pyu   obtainQ   s    	u   Subversion.obtainc             C   s   x | D] } t  |  j } | s( q n  d | k r_ d j | j d  d  d   j   } n | } | | j k r | j d d  d Sq Wd  S(   Nu   -i   u   #i    i(   u   Linku   egg_fragmentu   joinu   splitu   loweru   keyu   None(   u   selfu   distu   dependency_linksu   urlu   egg_fragmentu   key(    (    u+   /tmp/pip-zej_zi-build/pip/vcs/subversion.pyu   get_location^   s    +u   Subversion.get_locationc       
      C   s   d } x t  j |  D] \ } } } |  j | k rJ g  | d d  <q n  | j |  j  t  j j | |  j d  } t  j j |  s q n  |  j |  \ } } | | k r | d }	 n- | s | j |	  r g  | d d  <q n  t	 | |  } q W| S(   uR   
        Return the maximum revision for all files under a given location
        i    Nu   entriesu   /(
   u   osu   walku   dirnameu   removeu   pathu   joinu   existsu   _get_svn_url_revu
   startswithu   max(
   u   selfu   locationu   revisionu   baseu   dirsu   filesu
   entries_fnu   dirurlu   localrevu   base_url(    (    u+   /tmp/pip-zej_zi-build/pip/vcs/subversion.pyu   get_revisionl   s"    u   Subversion.get_revisionc                sA   t  t |   j   \ } } | j d  r7 d | } n  | | f S(   Nu   ssh://u   svn+(   u   superu
   Subversionu   get_url_revu
   startswith(   u   selfu   urlu   rev(   u	   __class__(    u+   /tmp/pip-zej_zi-build/pip/vcs/subversion.pyu   get_url_rev   s    u   Subversion.get_url_revc             C   sx   | } x^ t  j j t  j j | d   sf | } t  j j |  } | | k r	 t j d |  d  Sq	 W|  j |  d S(   Nu   setup.pyuG   Could not find setup.py for directory %s (tried all parent directories)i    (	   u   osu   pathu   existsu   joinu   dirnameu   loggeru   warnu   Noneu   _get_svn_url_rev(   u   selfu   locationu   orig_locationu   last_location(    (    u+   /tmp/pip-zej_zi-build/pip/vcs/subversion.pyu   get_url   s    $	u   Subversion.get_urlc       
      C   s  d d l  m } t t j j | |  j d   } | j   } | j   | j	 d  st | j	 d  st | j	 d  r t
 t t j | j d    } | d d =| d d } d	 d
   | D d g } n | j	 d  r7t j |  } | st d |   n  | j d  } d d
   t j |  D d g } n{ yY t |  j d d | g d d } t j |  j d  } d d
   t j |  D } Wn | k
 rd  g  } } Yn X| rt |  }	 n d }	 | |	 f S(   Ni    (   u   InstallationErroru   entriesu   8u   9u   10u   

i   c             S   s<   g  |  ]2 } t  |  d  k r | d  r t | d    q S(   i	   (   u   lenu   int(   u   .0u   d(    (    u+   /tmp/pip-zej_zi-build/pip/vcs/subversion.pyu
   <listcomp>   s   	 u/   Subversion._get_svn_url_rev.<locals>.<listcomp>u   <?xmlu   Badly formatted data: %ri   c             S   s%   g  |  ] } t  | j d     q S(   i   (   u   intu   group(   u   .0u   m(    (    u+   /tmp/pip-zej_zi-build/pip/vcs/subversion.pyu
   <listcomp>   s   	 u   infou   --xmlu   show_stdoutc             S   s%   g  |  ] } t  | j d     q S(   i   (   u   intu   group(   u   .0u   m(    (    u+   /tmp/pip-zej_zi-build/pip/vcs/subversion.pyu
   <listcomp>   s   	 F(   u   pip.exceptionsu   InstallationErroru   openu   osu   pathu   joinu   dirnameu   readu   closeu
   startswithu   listu   mapu   stru
   splitlinesu   splitu   _svn_xml_url_reu   searchu
   ValueErroru   groupu   _svn_rev_reu   finditeru   call_subprocessu   cmdu   Falseu   _svn_info_xml_url_reu   _svn_info_xml_rev_reu   Noneu   max(
   u   selfu   locationu   InstallationErroru   fu   datau   urlu   revsu   matchu   xmlu   rev(    (    u+   /tmp/pip-zej_zi-build/pip/vcs/subversion.pyu   _get_svn_url_rev   s2    !
-!&! u   Subversion._get_svn_url_revc             C   s   t  |  j d d | g d d } g  } xV | j   D]H } | j   } t | d  } | d j d  } | j | | f  q4 W| S(	   Nu   lsu   -vu   show_stdouti    i   u   /Fi(   u   call_subprocessu   cmdu   Falseu
   splitlinesu   splitu   intu   stripu   append(   u   selfu   svn_tag_urlu   stdoutu   resultsu   lineu   partsu   revu   tag(    (    u+   /tmp/pip-zej_zi-build/pip/vcs/subversion.pyu   get_tag_revs   s    u   Subversion.get_tag_revsc             C   sZ   d  } d  } xG | D]? \ } } | | k r | d  k sC | | k r | } | } q q W| S(   N(   u   None(   u   selfu   revu   tag_revsu   best_match_revu   best_tagu   tagu   tag_rev(    (    u+   /tmp/pip-zej_zi-build/pip/vcs/subversion.pyu   find_tag_match   s    u   Subversion.find_tag_matchc             C   s  |  j  |  } | d  k r d  S| j d  } | j   j d d  d } |  j |  } | d d k r d | | d f } n | d d k r d | j   | d | f } n | d d k rZd | j   | f } | r{d j | d  d   d }	 |  j |	  }
 |  j | |
  } | rWt j	 d |  d |	 | f } d | | f } qWq{n! t j
 d |  d | | f } d | | | f S(   Nu   /u   -i   i    i   u   tagsu   tagu   %s-%su   branchesu   branchu	   %s-%s-r%su   trunku
   %s-dev_r%su   /tagsu2   trunk checkout %s seems to be equivalent to tag %su   %s/%su?   svn URL does not fit normal structure (tags/branches/trunk): %su   svn+%s@%s#egg=%si(   u   tagsu   tagii(   u   branchesu   branchiii(   u   get_urlu   Noneu   splitu   egg_nameu   get_revisionu   joinu   get_tag_revsu   find_tag_matchu   loggeru   notifyu   warn(   u   selfu   distu   locationu	   find_tagsu   repou   partsu   egg_project_nameu   revu   full_egg_nameu   tag_urlu   tag_revsu   match(    (    u+   /tmp/pip-zej_zi-build/pip/vcs/subversion.pyu   get_src_requirement   s.     u   Subversion.get_src_requirement(   u   svnu   svn+sshu   svn+httpu	   svn+httpsu   svn+svnF(   u   __name__u
   __module__u   __qualname__u   nameu   dirnameu	   repo_nameu   schemesu   bundle_fileu   guideu   get_infou   parse_vcs_bundle_fileu   exportu   switchu   updateu   obtainu   get_locationu   get_revisionu   get_url_revu   get_urlu   _get_svn_url_revu   get_tag_revsu   find_tag_matchu   Falseu   get_src_requirement(   u
   __locals__(    (   u	   __class__u+   /tmp/pip-zej_zi-build/pip/vcs/subversion.pyu
   Subversion   s(   !u
   Subversionc             C   s   | r d | g } n g  } t  j |   } t | d  rO | j | j } } nl | d } d | k r | j d  d } d | k r | j d d  \ } } q | d  } } n d	 \ } } | r | d | g 7} n  | r | d | g 7} n  | S(
   Nu   -ru   usernamei   u   @i    u   :u
   --usernameu
   --password(   NN(   u   urlparseu   urlsplitu   hasattru   usernameu   passwordu   splitu   None(   u   urlu   revu   rev_optionsu   ru   usernameu   passwordu   netlocu   auth(    (    u+   /tmp/pip-zej_zi-build/pip/vcs/subversion.pyu   get_rev_options   s$    
u   get_rev_options(   u   osu   reu   pip.backwardcompatu   urlparseu	   pip.indexu   Linku   pip.utilu   rmtreeu   display_pathu   call_subprocessu   pip.logu   loggeru   pip.vcsu   vcsu   VersionControlu   compileu   _svn_xml_url_reu   _svn_rev_reu   _svn_url_reu   _svn_revision_reu   _svn_info_xml_rev_reu   _svn_info_xml_url_reu
   Subversionu   get_rev_optionsu   register(    (    (    u+   /tmp/pip-zej_zi-build/pip/vcs/subversion.pyu   <module>   s   