ó
û_¾Tc           @   s·   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
 m Z d  d l m Z m Z d  d l m Z d e f d	 „  ƒ  YZ e j e ƒ d S(
   iÿÿÿÿN(   t   call_subprocess(   t   urlparse(   t   logger(   t   rmtreet   display_path(   t   vcst   VersionControl(   t   path_to_url2t   Bazaarc           B   s’   e  Z d  Z d Z d Z d Z d Z d
 Z d d „ Z	 d „  Z
 d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   t   bzrs   .bzrt   branchs   bzr-branch.txts   bzr+https	   bzr+httpss   bzr+sshs   bzr+sftps   bzr+ftps   bzr+lps[   # This was a Bazaar branch; to make it a branch again run:
bzr branch -r %(rev)s %(url)s .
c         O   sF   t  t |  ƒ j | | | Ž t j j d g ƒ t j j d g ƒ d  S(   Nt   lp(   t   superR   t   __init__R   t   non_hierarchicalt   extendt   uses_fragment(   t   selft   urlt   argst   kwargs(    (    sf   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/pip-1.1-py2.7.egg/pip/vcs/bazaar.pyR      s    c         C   s¹   d  } } x¨ | j ƒ  D]š } | j ƒ  s | j ƒ  j d ƒ rE q n  t j d | ƒ } | ru | j d ƒ j ƒ  } n  | | j ƒ  j ƒ  j d  d ƒ d } | r | r | | f Sq Wd S(   Nt   #s   ^bzr\s*branch\s*-r\s*(\d*)i   i    (   NN(	   t   Nonet
   splitlinest   stript
   startswitht   ret   searcht   groupt   endt   split(   R   t   contentR   t   revt   linet   match(    (    sf   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/pip-1.1-py2.7.egg/pip/vcs/bazaar.pyt   parse_vcs_bundle_file   s    
"&c         C   s   t  j d d ƒ } |  j | ƒ t j j | ƒ r> t | ƒ n  z/ t |  j d | g d | d |  j	 d t
 ƒWd t | ƒ Xd S(   sC   Export the Bazaar repository at the url to the destination locations   -exports   pip-t   exportt   cwdt   filter_stdoutt   show_stdoutN(   t   tempfilet   mkdtempt   unpackt   ost   patht   existsR   R    t   cmdt   _filtert   False(   R   t   locationt   temp_dir(    (    sf   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/pip-1.1-py2.7.egg/pip/vcs/bazaar.pyR$   '   s    c         C   s    t  |  j d | g d | ƒd  S(   Nt   switchR%   (   R    R.   (   R   t   destR   t   rev_options(    (    sf   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/pip-1.1-py2.7.egg/pip/vcs/bazaar.pyR3   4   s    c         C   s$   t  |  j d d g | d | ƒd  S(   Nt   pulls   -qR%   (   R    R.   (   R   R4   R5   (    (    sf   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/pip-1.1-py2.7.egg/pip/vcs/bazaar.pyt   update7   s    c         C   s    |  j  ƒ  \ } } | r1 d | g } d | } n g  } d } |  j | | | | ƒ rœ t j d | | t | ƒ f ƒ t |  j d d g | | | g ƒ n  d  S(   Ns   -rs    (to revision %s)t    s   Checking out %s%s to %sR
   s   -q(   t   get_url_revt   check_destinationR   t   notifyR   R    R.   (   R   R4   R   R    R5   t   rev_display(    (    sf   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/pip-1.1-py2.7.egg/pip/vcs/bazaar.pyt   obtain;   s    	c         C   sA   t  t |  ƒ j ƒ  \ } } | j d ƒ r7 d | } n  | | f S(   Ns   ssh://s   bzr+(   R   R   R9   R   (   R   R   R    (    (    sf   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/pip-1.1-py2.7.egg/pip/vcs/bazaar.pyR9   I   s    c         C   s˜   t  |  j d g d t d | ƒ} xp | j ƒ  D]b } | j ƒ  } xM d D]E } | j | ƒ rG | j | ƒ d } |  j | ƒ rˆ t | ƒ S| SqG Wq. Wd  S(   Nt   infoR'   R%   s   checkout of branch: s   parent branch: i   (   s   checkout of branch: s   parent branch: (
   R    R.   R0   R   R   R   R   t   _is_local_repositoryR   R   (   R   R1   t   urlsR!   t   xt   repo(    (    sf   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/pip-1.1-py2.7.egg/pip/vcs/bazaar.pyt   get_urlP   s    

c         C   s/   t  |  j d g d t d | ƒ} | j ƒ  d S(   Nt   revnoR'   R%   iÿÿÿÿ(   R    R.   R0   R   (   R   R1   t   revision(    (    sf   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/pip-1.1-py2.7.egg/pip/vcs/bazaar.pyt   get_revision^   s    c         C   s    t  |  j d g d t d | ƒ} g  } xl | j ƒ  D]^ } t j d | ƒ } | r4 | j d ƒ } | j d ƒ } | j | j ƒ  | j ƒ  f ƒ q4 q4 Wt	 | ƒ S(   Nt   tagsR'   R%   s   ([.\w-]+)\s*(.*)$i   i   (
   R    R.   R0   R   R   R   R   t   appendR   t   dict(   R   R1   RG   t   tag_revsR!   t
   tags_matcht   tagR    (    (    sf   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/pip-1.1-py2.7.egg/pip/vcs/bazaar.pyt   get_tag_revsc   s    &c   	      C   s¿   |  j  | ƒ } | j ƒ  j d ƒ s1 d | } n  | j ƒ  j d d ƒ d } | sW d  S|  j | ƒ } |  j | ƒ } | | k r˜ d | | | f } n d | j ƒ  | f } d | | | f S(	   Ns   bzr:s   bzr+t   -i   i    s   %s-%ss
   %s-dev_r%ss   %s@%s#egg=%s(   RC   t   lowerR   t   egg_nameR   R   RF   RM   (	   R   t   distR1   t	   find_tagsRB   t   egg_project_namet   current_revRJ   t   full_egg_name(    (    sf   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/pip-1.1-py2.7.egg/pip/vcs/bazaar.pyt   get_src_requiremento   s    (   R	   s   bzr+https	   bzr+httpss   bzr+sshs   bzr+sftps   bzr+ftps   bzr+lpN(   t   __name__t
   __module__t   namet   dirnamet	   repo_namet   bundle_filet   schemest   guideR   R   R#   R$   R3   R7   R=   R9   RC   RF   RM   RV   (    (    (    sf   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/pip-1.1-py2.7.egg/pip/vcs/bazaar.pyR      s"   									(   R+   R(   R   t   pipR    t   pip.backwardcompatR   t   pip.logR   t   pip.utilR   R   t   pip.vcsR   R   t   pip.downloadR   R   t   register(    (    (    sf   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/pip-1.1-py2.7.egg/pip/vcs/bazaar.pyt   <module>   s   u