o
    ©„j–  ã                   @  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
„ƒZd(dd„Z		d)d(dd„Z
	d)d(dd„Zed*‡ fdd„ƒZed+dd„ƒZed+d d!„ƒZ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ÚstrÚreturnú	list[str]c                 C  s   d| gS )Nz-r© )r   r   r   úV/var/www/html/django_cbt/venv/lib/python3.10/site-packages/pip/_internal/vcs/bazaar.pyÚget_base_rev_args!   s   zBazaar.get_base_rev_argsÚdestÚurlr   Úrev_optionsr	   Ú	verbosityÚintÚNonec                 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¡r,t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   r1   C   s   
ÿ
zBazaar.updateú tuple[str, str | None, AuthInfo]c                   s.   t ƒ  |¡\}}}| d¡rd| }|||fS )Nzssh://zbzr+)ÚsuperÚget_url_rev_and_authr3   )Úclsr   r   Ú	user_pass©Ú	__class__r   r   r7   [   s   

zBazaar.get_url_rev_and_authÚlocationc                 C  sv   | j dgdd|d�}| ¡ D ]*}| ¡ }dD ]!}| |¡r7| |¡d }|  |¡r1t|ƒ    S |    S qqt‚)Nr"   FTr-   )zcheckout of branch: zparent branch: r   )r$   Ú
splitlinesÚstripr3   ÚsplitÚ_is_local_repositoryr   r   )r8   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=   )r8   r<   Úrevisionr   r   r   Úget_revisionr   s   üzBazaar.get_revisionÚnameú
str | NoneÚboolc                 C  s   dS )z&Always assume the versions don't matchFr   )r8   r   rJ   r   r   r   Úis_commit_id_equal|   s   zBazaar.is_commit_id_equal)r   r   r   r   )
r   r   r   r   r   r	   r   r   r   r   )r   )r   r   r   r5   )r<   r   r   r   )r   r   rJ   rK   r   rL   )Ú__name__Ú
__module__Ú__qualname__rJ   ÚdirnameÚ	repo_nameÚschemesÚstaticmethodr   r)   r*   r1   Úclassmethodr7   rE   rI   rM   Ú__classcell__r   r   r:   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   Ú	getLoggerrN   r!   r   Úregisterr   r   r   r   Ú<module>   s    
o