ķ
-fY[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 d  d l	 m
 Z
 m Z d  d l 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   path_to_url(   t   display_patht   rmtree(   t   TempDirectory(   t   VersionControlt   vcst   Bazaarc           B@  s   e  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+https	   bzr+httpss   bzr+sshs   bzr+sftps   bzr+ftps   bzr+lpc         O@  sH   t  t |   j | | |  t t d d   rD 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   urlt   argst   kwargs(    (    s5   /tmp/pip-build-EXPGeH/pip/pip/_internal/vcs/bazaar.pyR      s    c         C@  s
   d | g S(   Ns   -r(    (   R   t   rev(    (    s5   /tmp/pip-build-EXPGeH/pip/pip/_internal/vcs/bazaar.pyt   get_base_rev_args    s    c      
   C@  sm   t  j j |  r t |  n  t d d  9 } |  j | j  |  j d | g d | j d t Wd QXd S(   sU   
        Export the Bazaar repository at the url to the destination location
        t   kindt   exportt   cwdt   show_stdoutN(   t   ost   patht   existsR   R   t   unpackt   run_commandt   False(   R   t   locationt   temp_dir(    (    s5   /tmp/pip-build-EXPGeH/pip/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   t   to_argsR!   (   R   t   destR   t   rev_optionst   rev_displayt   cmd_args(    (    s5   /tmp/pip-build-EXPGeH/pip/pip/_internal/vcs/bazaar.pyt	   fetch_new3   s     c         C@  s   |  j  d | g d | d  S(   Nt   switchR   (   R!   (   R   R)   R   R*   (    (    s5   /tmp/pip-build-EXPGeH/pip/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,   (    (    s5   /tmp/pip-build-EXPGeH/pip/pip/_internal/vcs/bazaar.pyt   updateA   s    c         C@  sD   t  t |   j |  \ } } | j d  r: d | } n  | | f S(   Ns   ssh://s   bzr+(   R   R   t   get_url_revt
   startswith(   R   R   R   (    (    s5   /tmp/pip-build-EXPGeH/pip/pip/_internal/vcs/bazaar.pyR1   E   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   stripR2   t   splitt   _is_local_repositoryR   R   (   R   R#   t   urlst   linet   xt   repo(    (    s5   /tmp/pip-build-EXPGeH/pip/pip/_internal/vcs/bazaar.pyt   get_urlL   s    

c         C@  s,   |  j  d g d t d | } | j   d S(   Nt   revnoR   R   i˙˙˙˙(   R!   R"   R3   (   R   R#   t   revision(    (    s5   /tmp/pip-build-EXPGeH/pip/pip/_internal/vcs/bazaar.pyt   get_revisionY   s    c         C@  sw   |  j  |  } | s d  S| j   j d  s; d | } n  | j   j d d  d } |  j |  } d | | | f S(   Ns   bzr:s   bzr+t   -i   i    s   %s@%s#egg=%s(   R;   R   t   lowerR2   t   egg_nameR5   R>   (   R   t   distR#   R:   t   egg_project_namet   current_rev(    (    s5   /tmp/pip-build-EXPGeH/pip/pip/_internal/vcs/bazaar.pyt   get_src_requirement_   s    c         C@  s   t  S(   s&   Always assume the versions don't match(   R"   (   R   R)   t   name(    (    s5   /tmp/pip-build-EXPGeH/pip/pip/_internal/vcs/bazaar.pyt   is_commit_id_equali   s    (   s   bzrs   bzr+https	   bzr+httpss   bzr+sshs   bzr+sftps   bzr+ftps   bzr+lpN(   t   __name__t
   __module__RF   t   dirnamet	   repo_namet   schemesR   R   R   R   R-   R.   R0   R1   R;   R>   RE   RG   (    (    (    s5   /tmp/pip-build-EXPGeH/pip/pip/_internal/vcs/bazaar.pyR      s     									
(   t
   __future__R    t   loggingR   t   pip._vendor.six.moves.urllibR   R   t   pip._internal.downloadR   t   pip._internal.utils.miscR   R   t   pip._internal.utils.temp_dirR   t   pip._internal.vcsR   R   t	   getLoggerRH   R&   R   t   register(    (    (    s5   /tmp/pip-build-EXPGeH/pip/pip/_internal/vcs/bazaar.pyt   <module>   s   ^