
b]c           @@  s   d  d l  m Z d  d l Z d  d l Z d  d l m Z d  d l m Z m	 Z	 m
 Z
 d  d l m Z m Z e j e  Z d e f d     YZ e j e  d S(   i    (   t   absolute_importN(   t   parse(   t   display_patht   path_to_urlt   rmtree(   t   VersionControlt   vcst   Bazaarc           B@  s   e  Z d  Z d Z d Z d Z d	   Z e d
    Z d   Z	 d   Z
 d   Z d   Z e d    Z e d    Z e d    Z e d    Z RS(   t   bzrs   .bzrt   branchs   bzr+https	   bzr+httpss   bzr+sshs   bzr+sftps   bzr+ftps   bzr+lpc         O@  sE   t  t |   j | |   t t d d   rA t j j d g  n  d  S(   Nt   uses_fragmentt   lp(   t   superR   t   __init__t   getattrt   urllib_parset   NoneR
   t   extend(   t   selft   argst   kwargs(    (    s7   lib/python2.7/site-packages/pip/_internal/vcs/bazaar.pyR      s    c         C@  s
   d |  g S(   Ns   -r(    (   t   rev(    (    s7   lib/python2.7/site-packages/pip/_internal/vcs/bazaar.pyt   get_base_rev_args   s    c         C@  s^   t  j j |  r t |  n  |  j |  \ } } |  j d | | g | j   d t d S(   sU   
        Export the Bazaar repository at the url to the destination location
        t   exportt   show_stdoutN(   t   ost   patht   existsR   t   get_url_rev_optionst   run_commandt   to_argst   False(   R   t   locationt   urlt   rev_options(    (    s7   lib/python2.7/site-packages/pip/_internal/vcs/bazaar.pyR   "   s    c         C@  sY   | j    } t j d | | t |   d d g | j   | | g } |  j |  d  S(   Ns   Checking out %s%s to %sR	   s   -q(   t
   to_displayt   loggert   infoR   R   R   (   R   t   destR!   R"   t   rev_displayt   cmd_args(    (    s7   lib/python2.7/site-packages/pip/_internal/vcs/bazaar.pyt	   fetch_new0   s     c         C@  s   |  j  d | g d | d  S(   Nt   switcht   cwd(   R   (   R   R&   R!   R"   (    (    s7   lib/python2.7/site-packages/pip/_internal/vcs/bazaar.pyR*   ;   s    c         C@  s-   d d g | j    } |  j | d | d  S(   Nt   pulls   -qR+   (   R   R   (   R   R&   R!   R"   R(   (    (    s7   lib/python2.7/site-packages/pip/_internal/vcs/bazaar.pyt   update>   s    c         C@  sJ   t  t |   j |  \ } } } | j d  r= d | } n  | | | f S(   Ns   ssh://s   bzr+(   R   R   t   get_url_rev_and_autht
   startswith(   t   clsR!   R   t	   user_pass(    (    s7   lib/python2.7/site-packages/pip/_internal/vcs/bazaar.pyR.   B   s    !c         C@  s   |  j  d g d t d | } xp | j   D]b } | j   } xM d D]E } | j |  rD | j |  d } |  j |  r t |  S| SqD Wq+ Wd  S(   NR%   R   R+   s   checkout of branch: s   parent branch: i   (   s   checkout of branch: s   parent branch: (	   R   R   t
   splitlinest   stripR/   t   splitt   _is_local_repositoryR   R   (   R0   R    t   urlst   linet   xt   repo(    (    s7   lib/python2.7/site-packages/pip/_internal/vcs/bazaar.pyt   get_remote_urlJ   s    

c         C@  s,   |  j  d g d t d | } | j   d S(   Nt   revnoR   R+   i(   R   R   R2   (   R0   R    t   revision(    (    s7   lib/python2.7/site-packages/pip/_internal/vcs/bazaar.pyt   get_revisionX   s    c         C@  s   t  S(   s&   Always assume the versions don't match(   R   (   R0   R&   t   name(    (    s7   lib/python2.7/site-packages/pip/_internal/vcs/bazaar.pyt   is_commit_id_equal_   s    (   R   s   bzr+https	   bzr+httpss   bzr+sshs   bzr+sftps   bzr+ftps   bzr+lp(   t   __name__t
   __module__R>   t   dirnamet	   repo_namet   schemesR   t   staticmethodR   R   R)   R*   R-   t   classmethodR.   R:   R=   R?   (    (    (    s7   lib/python2.7/site-packages/pip/_internal/vcs/bazaar.pyR      s    					(   t
   __future__R    t   loggingR   t   pip._vendor.six.moves.urllibR   R   t   pip._internal.utils.miscR   R   R   t    pip._internal.vcs.versioncontrolR   R   t	   getLoggerR@   R$   R   t   register(    (    (    s7   lib/python2.7/site-packages/pip/_internal/vcs/bazaar.pyt   <module>   s   W