o
    Uh                     @  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 )-BazaarZ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   `/var/www/html/figdemos/bartoux_crm/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   -vZcheckoutz--lightweight)Z
to_displayloggerinfor   r   to_argsrun_command)selfr   r   r   r   Z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   r-   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_authr/   )clsr   r   	user_pass	__class__r   r   r3   [   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stripr/   splitZ_is_local_repositoryr   r   )r4   r8   urlslinexZrepor   r   r   get_remote_urlc   s   


zBazaar.get_remote_urlc                 C  s    | j dgdd|d}| d S )NZrevnoFTr)   )r!   r9   )r4   r8   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   )r4   r   rC   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   r1   )r8   r   r   r   )r   r   rC   rD   r   rE   )__name__
__module____qualname__rC   dirnameZ	repo_nameschemesstaticmethodr   r%   r&   r-   classmethodr3   r?   rB   rF   __classcell__r   r   r6   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   	getLoggerrG   r   r   registerr   r   r   r   <module>   s    
o