Sindbad~EG File Manager

Current Path : /usr/local/lib/python3.11/site-packages/pip/_internal/vcs/__pycache__/
Upload File :
Current File : //usr/local/lib/python3.11/site-packages/pip/_internal/vcs/__pycache__/subversion.cpython-311.pyc

�

�@�e�-��V�ddlZddlZddlZddlmZmZmZddlmZm	Z	m
Z
mZmZddl
mZmZddlmZmZmZmZmZeje��Zejd��Zejd��Zejd��Zejd	��ZGd
�de��Zeje��dS)�N)�List�Optional�Tuple)�
HiddenText�display_path�is_console_interactive�is_installable_dir�split_auth_from_netloc)�CommandArgs�make_command)�AuthInfo�RemoteNotFoundError�
RevOptions�VersionControl�vcsz
url="([^"]+)"zcommitted-rev="(\d+)"z\s*revision="(\d+)"z<url>(.*)</url>c���eZdZdZdZdZdZedede	fd���Z
ededeefd	���Z
ed
edefd���Zeded
edeeeeeeefff�fd���Zededeeeeeff�fd���Zedeedeedefd���Zed
edefd���Zed
edeeeeffd���Zededeede	fd���Zd%dee	ddf�fd�
Zdeedffd�Zdeedffd�Zdefd�Zdeded ed!eddf
d"�Z deded eddfd#�Z!deded eddfd$�Z"�xZ#S)&�
Subversion�svnz.svn�checkout)zsvn+sshzsvn+httpz	svn+httpszsvn+svnzsvn+file�
remote_url�returnc��dS)NT�)�clsrs  �G/usr/local/lib/python3.11/site-packages/pip/_internal/vcs/subversion.py�should_add_vcs_url_prefixz$Subversion.should_add_vcs_url_prefix$s���t��revc�
�d|gS)Nz-rr)rs r�get_base_rev_argszSubversion.get_base_rev_args(s���c�{�r�locationc���d}tj|��D]�\}}}|j|vrg|dd�<�|�|j��tj�||jd��}tj�|��s�w|�|��\}}||kr
|�J�|dz}n|r|�|��sg|dd�<��t||��}��t|��S)zR
        Return the maximum revision for all files under a given location
        rN�entries�/)�os�walk�dirname�remove�path�join�exists�_get_svn_url_rev�
startswith�max�str)	rr!�revision�base�dirs�_�
entries_fn�dirurl�localrevs	         r�get_revisionzSubversion.get_revision,s�����W�X�.�.�	/�	/�M�D�$���{�$�&�&���Q�Q�Q����K�K���$�$�$�����d�C�K��C�C�J��7�>�>�*�-�-�
��"�3�3�D�9�9��F�H��x����)�)�)���|����
�6�#4�#4�T�#:�#:�
���Q�Q�Q����8�X�.�.�H�H��8�}�}�r�netloc�schemec�r��|dkr"t���||��St|��S)z�
        This override allows the auth information to be passed to svn via the
        --username and --password options instead of via the URL.
        �ssh)�super�get_netloc_and_authr
)rr8r9�	__class__s   �rr=zSubversion.get_netloc_and_authIs8����U�?�?��7�7�.�.�v�v�>�>�>�%�f�-�-�-r�urlc���t���|��\}}}|�d��rd|z}|||fS)Nzssh://zsvn+)r<�get_url_rev_and_authr-)rr?r�	user_passr>s    �rrAzSubversion.get_url_rev_and_authXsM���$�g�g�:�:�3�?�?���S�)��>�>�(�#�#�	��3�,�C��C��"�"r�username�passwordc�.�g}|r|d|gz
}|r|d|gz
}|S)Nz
--usernamez
--passwordr)rCrD�
extra_argss   r�
make_rev_argszSubversion.make_rev_args`s=��#%�
��	3��<��2�2�J��	3��<��2�2�J��rc��|}t|��sX|}tj�|��}||kr"t�d|��t�t|���X|�|��\}}|�t�|S)NzMCould not find Python project for directory %s (tried all parent directories))r	r%r)r'�logger�warningrr,)rr!�
orig_location�
last_locationr?�_revs      r�get_remote_urlzSubversion.get_remote_urlls���!�
�$�X�.�.�	*�$�M��w���x�0�0�H��=�(�(����*�!����
*�)�%�X�.�.�	*��(�(��2�2�	��T��;�%�%��
rc��ddlm}tj�||jd��}tj�|��r<t|��5}|���}ddd��n#1swxYwYnd}d}|�	d��s*|�	d��s|�	d��rctttj
|�d������}|dd=|dd	}d
�|D��dgz}�n|�	d��rlt�|��}	|	st#d|�����|	�d
��}d�t&�|��D��dgz}n�	|�dd|gdd���}
t,�|
��}	|	�J�|	�d
��}d�t.�|
��D��}n#|$rdg}}YnwxYw|rt1|��}nd}||fS)Nr)�InstallationErrorr#��8�9�10z

�c�n�g|]2}t|��dk�|d�t|d����3S)�	)�len�int)�.0�ds  r�
<listcomp>z/Subversion._get_svn_url_rev.<locals>.<listcomp>�s5��F�F�F�!�#�a�&�&�1�*�*��1��*�C��!��I�I�*�*�*rz<?xmlzBadly formatted data: �c�R�g|]$}t|�d������%S�r]�rY�group�rZ�ms  rr\z/Subversion._get_svn_url_rev.<locals>.<listcomp>�s(��H�H�H��C�����
�
�O�O�H�H�Hr�infoz--xmlFT��show_stdout�stdout_onlyc�R�g|]$}t|�d������%Sr_r`rbs  rr\z/Subversion._get_svn_url_rev.<locals>.<listcomp>�s(��T�T�T�A��A�G�G�A�J�J���T�T�Tr)�pip._internal.exceptionsrPr%r)r*r'r+�open�readr-�list�mapr/�
splitlines�split�_svn_xml_url_re�search�
ValueErrorra�_svn_rev_re�finditer�run_command�_svn_info_xml_url_re�_svn_info_xml_rev_rer.)rr!rP�entries_path�f�datar?r#�revs�match�xmlrs            rr,zSubversion._get_svn_url_rev�s���>�>�>�>�>�>��w�|�|�H�c�k�9�E�E��
�7�>�>�,�'�'�	��l�#�#�
 �q��v�v�x�x��
 �
 �
 �
 �
 �
 �
 �
 �
 �
 �
 ����
 �
 �
 �
 ���D����?�?�3���	%�4�?�?�3�#7�#7�	%�4�?�?�4�;P�;P�	%��3�s�~�t�z�z�*�/E�/E�F�F�G�G�G���
�1�
��!�*�Q�-�C�F�F�w�F�F�F�!��L�D�D�
�_�_�W�
%�
%�	%�#�*�*�4�0�0�E��
D� �!B�$�!B�!B�C�C�C��+�+�a�.�.�C�H�H�[�-A�-A�$�-G�-G�H�H�H�A�3�N�D�D�
%��o�o��W�h�/� %� $�&����
-�3�3�C�8�8���(�(�(��k�k�!�n�n��T�T�1E�1N�1N�s�1S�1S�T�T�T����$�
%�
%�
%� �"�T����
%�����	��d�)�)�C�C��C��C�x�s%�A<�<B�B�0A2H#�#	H/�.H/�dest�namec��dS)z&Always assume the versions don't matchFr)rr~rs   r�is_commit_id_equalzSubversion.is_commit_id_equal�s	���urN�use_interactivec���|�t��}||_d|_t�����dS�N)rr��_vcs_versionr<�__init__)�selfr�r>s  �rr�zSubversion.__init__�sB����"�4�6�6�O�.���8<���
���������r.c��d}|�dgdd���}|�|��sdS|t|��d����d}|�d	��d�d
��}	tt
t|����}n#t$rYdSwxYw|S)aQuery the version of the currently installed Subversion client.

        :return: A tuple containing the parts of the version information or
            ``()`` if the version returned from ``svn`` could not be parsed.
        :raises: BadCommand: If ``svn`` is not installed.
        z
svn, version z	--versionFTrerNr�-�.)	rur-rXro�	partition�tuplermrYrr)r��version_prefix�version�version_list�parsed_versions     r�call_vcs_versionzSubversion.call_vcs_version�s���)���"�"�K�=�e�QU�"�V�V���!�!�.�1�1�	��2��#�n�-�-�/�/�0�6�6�8�8��;���(�(��-�-�a�0�6�6�s�;�;��	�"�3�s�L�#9�#9�:�:�N�N���	�	�	��2�2�	�����s�"B4�4
C�Cc�X�|j�|jS|���}||_|S)a�Return the version of the currently installed Subversion client.

        If the version of the Subversion client has already been queried,
        a cached value will be used.

        :return: A tuple containing the parts of the version information or
            ``()`` if the version returned from ``svn`` could not be parsed.
        :raises: BadCommand: If ``svn`` is not installed.
        )r�r�)r��vcs_versions  r�get_vcs_versionzSubversion.get_vcs_version�s7����(��$�$��+�+�-�-��'����rc�T�|jsdgS|���}|dkrdgSgS)aCReturn options to be used on calls to Subversion that contact the server.

        These options are applicable for the following ``svn`` subcommands used
        in this class.

            - checkout
            - switch
            - update

        :return: A list of command line arguments to pass to ``svn``.
        z--non-interactive)r]�z--force-interactive)r�r�)r��svn_versions  r�get_remote_call_optionsz"Subversion.get_remote_call_options�sF���#�	)�(�(�(��*�*�,�,���&� � �)�*�*��	r�rev_options�	verbosityc�2�|���}t�d||t|����|dkrd}nd}t	d||���|���||��}|�|��dS)NzChecking out %s%s to %srz--quietrQr)�
to_displayrIrdrrr��to_argsru)r�r~r?r�r��rev_display�flag�cmd_argss        r�	fetch_newzSubversion.fetch_news���"�,�,�.�.�����%�������		
�	
�	
���>�>��D�D��D�����(�(�*�*����!�!���

�
��	
����"�"�"�"�"rc��td|���|���||��}|�|��dS)N�switch�rr�r�ru�r�r~r?r�r�s     rr�zSubversion.switch0sT�����(�(�*�*����!�!���
�
��	
����"�"�"�"�"rc��td|���|���|��}|�|��dS)N�updater�r�s     rr�zSubversion.update:sQ�����(�(�*�*����!�!��	
�
��	
����"�"�"�"�"rr�)$�__name__�
__module__�__qualname__rr'�	repo_name�schemes�classmethodr/�boolr�staticmethodrr r7rrr=r
rArrrGrNrYr,r�r�r�r�r�rr�r�r��
__classcell__)r>s@rrrs|��������D��G��I�I�G���3��4�����[����s��t�C�y�����\����C��C�����[��8�.��.�"%�.�	�s�E�(�3�-��#��6�7�7�	8�.�.�.�.�.��[�.��#�s�#�u�S�(�3�-��5Q�/R�#�#�#�#�#��[�#��	��3�-�	�+3�J�+?�	�	�	�	�	��\�	���c��c�����[��.�/��/��h�s�m�S�6H�0I�/�/�/��[�/�b��c���#���4�����[��������$��������%��S��/�����8��s�C�x������(������>#��#�(�#�7A�#�NQ�#�	
�#�#�#�#�0#�3�#�Z�#�j�#�T�#�#�#�#�#�3�#�Z�#�j�#�T�#�#�#�#�#�#�#�#rr) �loggingr%�re�typingrrr�pip._internal.utils.miscrrrr	r
�pip._internal.utils.subprocessrr� pip._internal.vcs.versioncontrolr
rrrr�	getLoggerr�rI�compilerprsrwrvr�registerrrr�<module>r�s�������	�	�	�	�	�	�	�	�(�(�(�(�(�(�(�(�(�(���������������E�D�D�D�D�D�D�D���������������
��	�8�	$�	$���"�*�_�-�-���b�j�1�2�2��!�r�z�"8�9�9��!�r�z�"4�5�5��c#�c#�c#�c#�c#��c#�c#�c#�L	
���Z�����r

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists