B
    od                 @   s   d dl Z d dlmZmZmZ d dlmZmZ d dlm	Z	 d dl
mZ d dlmZmZmZmZmZ e eZG dd deZee dS )	    N)ListOptionalTuple)
HiddenTextdisplay_path)make_command)path_to_url)AuthInfoRemoteNotFoundError
RevOptionsVersionControlvcsc                   s   e Zd ZdZdZdZdZeee	e dddZ
eeeedd	d
dZeeeddddZeeeddddZeeeeee ef d fddZeeedddZeeedddZeeee edddZ  ZS )Bazaarbzrz.bzrbranch)zbzr+httpz	bzr+httpszbzr+sshzbzr+sftpzbzr+ftpzbzr+lpzbzr+file)revreturnc             C   s   d| gS )Nz-r )r   r   r   J/var/www/html/venv/lib/python3.7/site-packages/pip/_internal/vcs/bazaar.pyget_base_rev_args    s    zBazaar.get_base_rev_argsN)desturlrev_options	verbosityr   c             C   sj   |  }td||t| |dkr*d}n|dkr8d}ndd|  }tdd	|| ||}| | d S )
NzChecking out %s%s to %sr   z--quiet    -vcheckoutz--lightweight)
to_displayloggerinfor   r   to_argsrun_command)selfr   r   r   r   rev_displayflagcmd_argsr   r   r   	fetch_new$   s    
zBazaar.fetch_new)r   r   r   r   c             C   s   | j td||d d S )Nswitch)cwd)r#   r   )r$   r   r   r   r   r   r   r)   9   s    zBazaar.switchc             C   s\   | j tddd|d}|dr:tdd|}| j ||d td	d| }| j ||d d S )
Nr!   FT)show_stdoutstdout_onlyr*   zStandalone bindz-q)r*   update)r#   r   
startswithr"   )r$   r   r   r   outputr'   r   r   r   r.   <   s    
zBazaar.update)r   r   c                s.   t  |\}}}|dr$d| }|||fS )Nzssh://zbzr+)superget_url_rev_and_authr/   )clsr   r   	user_pass)	__class__r   r   r2   I   s    
zBazaar.get_url_rev_and_auth)locationr   c             C   sr   | j dgdd|d}xT| D ]H}| }x:dD ]2}||r0||d }| |r^t|S |S q0W qW td S )Nr!   FT)r+   r,   r*   )zcheckout of branch: zparent branch: r   )r#   
splitlinesstripr/   split_is_local_repositoryr   r
   )r3   r6   urlslinexrepor   r   r   get_remote_urlQ   s    


zBazaar.get_remote_urlc             C   s    | j dgdd|d}| d S )NrevnoFT)r+   r,   r*   )r#   r7   )r3   r6   revisionr   r   r   get_revision`   s    zBazaar.get_revision)r   namer   c             C   s   dS )z&Always assume the versions don't matchFr   )r3   r   rD   r   r   r   is_commit_id_equalj   s    zBazaar.is_commit_id_equal)__name__
__module____qualname__rD   dirname	repo_nameschemesstaticmethodstrr   r   r   r   intr(   r)   r.   classmethodr   r   r	   r2   r?   rC   boolrE   __classcell__r   r   )r5   r   r      s$   	$	r   )loggingtypingr   r   r   pip._internal.utils.miscr   r   pip._internal.utils.subprocessr   pip._internal.utils.urlsr    pip._internal.vcs.versioncontrolr	   r
   r   r   r   	getLoggerrF   r    r   registerr   r   r   r   <module>   s   
^