ó
j·Ã^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	 d  d l
 m Z d  d l m Z d  d l m Z d  d l m Z m Z e rŲ d  d	 l m Z m Z d  d
 l m Z d  d l m Z m Z n  e j e  Z d e f d     YZ e j e  d S(   i    (   t   absolute_importN(   t   parse(   t   display_patht   rmtree(   t   make_command(   t   MYPY_CHECK_RUNNING(   t   path_to_url(   t   VersionControlt   vcs(   t   Optionalt   Tuple(   t
   HiddenText(   t   AuthInfot
   RevOptionst   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(    (    s)   site-packages/pip/_internal/vcs/bazaar.pyR   #   s    c         C@  s
   d |  g S(   Ns   -r(    (   t   rev(    (    s)   site-packages/pip/_internal/vcs/bazaar.pyt   get_base_rev_args*   s    c         C@  s`   t  j j |  r t |  n  |  j |  \ } } |  j t d | | | 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_commandR   t   to_argst   False(   R   t   locationt   urlt   rev_options(    (    s)   site-packages/pip/_internal/vcs/bazaar.pyR   .   s    c         C@  sW   | j    } t j d | | t |   t d d | j   | |  } |  j |  d  S(   Ns   Checking out %s%s to %sR   s   -q(   t
   to_displayt   loggert   infoR   R   R%   R$   (   R   t   destR(   R)   t   rev_displayt   cmd_args(    (    s)   site-packages/pip/_internal/vcs/bazaar.pyt	   fetch_new=   s    c         C@  s    |  j  t d |  d | d  S(   Nt   switcht   cwd(   R$   R   (   R   R-   R(   R)   (    (    s)   site-packages/pip/_internal/vcs/bazaar.pyR1   K   s    c         C@  s/   t  d d | j    } |  j | d | d  S(   Nt   pulls   -qR2   (   R   R%   R$   (   R   R-   R(   R)   R/   (    (    s)   site-packages/pip/_internal/vcs/bazaar.pyt   updateO   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(    (    s)   site-packages/pip/_internal/vcs/bazaar.pyR5   T   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   R2   s   checkout of branch: s   parent branch: i   (   s   checkout of branch: s   parent branch: (	   R$   R&   t
   splitlinest   stripR6   t   splitt   _is_local_repositoryR   R   (   R7   R'   t   urlst   linet   xt   repo(    (    s)   site-packages/pip/_internal/vcs/bazaar.pyt   get_remote_url]   s    

c         C@  s,   |  j  d g d t d | } | j   d S(   Nt   revnoR   R2   iĸĸĸĸ(   R$   R&   R9   (   R7   R'   t   revision(    (    s)   site-packages/pip/_internal/vcs/bazaar.pyt   get_revisionk   s    c         C@  s   t  S(   s&   Always assume the versions don't match(   R&   (   R7   R-   t   name(    (    s)   site-packages/pip/_internal/vcs/bazaar.pyt   is_commit_id_equalr   s    (   R   s   bzr+https	   bzr+httpss   bzr+sshs   bzr+sftps   bzr+ftps   bzr+lp(   t   __name__t
   __module__RE   t   dirnamet	   repo_namet   schemesR   t   staticmethodR   R   R0   R1   R4   t   classmethodR5   RA   RD   RF   (    (    (    s)   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   t   pip._internal.utils.subprocessR   t   pip._internal.utils.typingR   t   pip._internal.utils.urlsR   t    pip._internal.vcs.versioncontrolR   R   t   typingR	   R
   R   R   R   t	   getLoggerRG   R+   R   t   register(    (    (    s)   site-packages/pip/_internal/vcs/bazaar.pyt   <module>   s   ^