a
    sh                     @  s   d dl mZ d dl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 )	    )annotationsN)
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ddddd	Zdd
ddddddZ	d$dd
ddddddZ
d%dd
ddddddZeddd fddZedddddZedddddZeddd 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strz	list[str])revreturnc                 C  s   d| gS )Nz-r )r   r   r   T/var/www/html/assistant/venv/lib/python3.9/site-packages/pip/_internal/vcs/bazaar.pyget_base_rev_args!   s    zBazaar.get_base_rev_argsr   r	   intNone)desturlrev_options	verbosityr   c                 C  sz   |  }td||t| |dkr,dg}n|dkr:g }ndd|  g}tddg|| ||R  }| | 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flagscmd_argsr   r   r   	fetch_new%   s0    zBazaar.fetch_newr   c                 C  s   | j td||d d S )Nswitchcwd)r#   r   )r$   r   r   r   r   r   r   r   r)   :   s    zBazaar.switchc                 C  s   g }|dkr| d | jtddd|d}|drXtdg||R  }| j||d	 td
g|| R  }| j||d	 d S )Nr   z-qr!   FTshow_stdoutstdout_onlyr+   zStandalone bindr*   update)appendr#   r   
startswithr"   )r$   r   r   r   r   r&   outputr'   r   r   r   r0   C   s    

zBazaar.updatez tuple[str, str | None, AuthInfo])r   r   c                   s.   t  |\}}}|dr$d| }|||fS )Nzssh://zbzr+)superget_url_rev_and_authr2   )clsr   r   	user_pass	__class__r   r   r5   [   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stripr2   split_is_local_repositoryr   r   )r6   r:   urlslinexrepor   r   r   get_remote_urlc   s    


zBazaar.get_remote_urlc                 C  s    | j dgdd|d}| d S )NrevnoFTr,   )r#   r;   )r6   r:   revisionr   r   r   get_revisionr   s    zBazaar.get_revisionz
str | Nonebool)r   namer   c                 C  s   dS )z&Always assume the versions don't matchFr   )r6   r   rI   r   r   r   is_commit_id_equal|   s    zBazaar.is_commit_id_equal)r   )r   )__name__
__module____qualname__rI   dirname	repo_nameschemesstaticmethodr   r(   r)   r0   classmethodr5   rC   rG   rJ   __classcell__r   r   r8   r   r      s&   
  	r   )
__future__r   loggingpip._internal.utils.miscr   r   pip._internal.utils.subprocessr   pip._internal.utils.urlsr    pip._internal.vcs.versioncontrolr   r   r	   r
   r   	getLoggerrK   r    r   registerr   r   r   r   <module>   s   
o