U
    ƒIÀd¿  ã                   @   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   úQ/home/sam/Atlas/atlas_env/lib/python3.8/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-qr*   Úupdate)r#   r   Ú
startswithr"   )r$   r   r   r   Úoutputr'   r   r   r   r0   <   s       ÿ
zBazaar.update)r   r   c                    s.   t ƒ  |¡\}}}| d¡r$d| }|||fS )Nzssh://zbzr+)ÚsuperÚget_url_rev_and_authr1   )Úclsr   r   Ú	user_pass©Ú	__class__r   r   r4   I   s    
zBazaar.get_url_rev_and_auth)Úlocationr   c                 C   sz   | j dgdd|d�}| ¡ D ]T}| ¡ }dD ]B}| |¡r,| |¡d }|  |¡rbt|ƒ    S |    S q,qt‚d S )Nr!   FTr,   )zcheckout of branch: zparent branch: r   )r#   Ú
splitlinesÚstripr1   ÚsplitÚ_is_local_repositoryr   r
   )r5   r9   Ú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ÚrevnoFTr,   éÿÿÿÿ)r#   r:   )r5   r9   Ú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   )r5   r   rG   r   r   r   Úis_commit_id_equalj   s    zBazaar.is_commit_id_equal)Ú__name__Ú
__module__Ú__qualname__rG   ÚdirnameÚ	repo_nameÚschemesÚstaticmethodÚstrr   r   r   r   Úintr(   r)   r0   Úclassmethodr   r   r	   r4   rB   rF   ÚboolrH   Ú__classcell__r   r   r7   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   Ú	getLoggerrI   r    r   Úregisterr   r   r   r   Ú<module>   s   
^