Sindbad~EG File Manager

Current Path : /usr/local/lib/python3.12/test/support/__pycache__/
Upload File :
Current File : //usr/local/lib/python3.12/test/support/__pycache__/os_helper.cpython-312.opt-2.pyc

�

(Μg�^���ddlZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlm
Z
dZdjeej ��ZedzZej$dk(rddlZej(de�ZdZej,dk(reej.�j$d	k\rwed
zZ	ej1ej2��ede�dej2��d
��dZn0ej$dvr"	dj9ej2��	dZdD].Z	ej@ejBe��ek7re"�	eZnejF�Z$dZ%dD]#Z	ej9ej2���%ereezZ'ndZ'e'xseZ(d�Z)da*d�Z+d�Z,da-d�Z.d�Z/da0d�Z1d�Z2da3d�Z4d�Z5d�Z6d�Z7ej$jqd �rd?d!�Z9d"�Z:d#�Z;d$�Z<d%�Z=nejnZ:ej|Z;d&�Z<d'�Z=d(�Z>d)�Z?ej�d@d*��ZAej�d?d+��ZBej�dAd,��ZCd-�ZDej�d.��ZEd/�ZFGd0�d1�ZGd2�ZHeIed3�rej�d4��ZJnej�d5��ZJGd6�d7ej�j��ZM	e
j�r!ddlOZOeOj�d8d9�:�ZQd	ZRd	ZSd;ZTd<ZUneV�	ej�d=��ZWy#e$rY���wxYw#e$r(edj9ej2�d�zZY�� wxYw#e"$rY��(wxYw#e$rY	ej9ej2�ejL��n
#e$rYY��&wxYwejBe�ezZ%Y��wxYw#eXeVf$rd>�ZWYywxYw)B�N)�supportz@testz	{}_{}_tmpu-àòɘŁğ�darwin�NFD�nt�u-共Ł♡ͣ�zWARNING: The filename z, CAN be encoded by the filesystem encoding (z.). Unicode filename tests may not be effective>�wasir�
emscripten��s-��surrogateescape�)�æuİuŁuφuКuאu،uتuก� u€)s�w�r
s���s�s��c���	ttd�}	|j�|j�t	t�S#|j�t	t�wxYw)N�wb)�open�TESTFN�fileno�close�unlink��files �3/usr/local/lib/python3.12/test/support/os_helper.py�make_bad_fdr�sG�������D���{�{�}��
�
���v���	
�
�
���v��s�A�!A#c��t�tStjjt�}|dz}	tj
||�d}tj|�|a|S#tttf$rd}Y|a|SwxYw)N�can_symlinkTF)
�_can_symlink�os�path�abspathr�symlink�remove�OSError�NotImplementedError�AttributeError)�src�symlink_path�cans   rrr�s�������
�'�'�/�/�&�
!�C���&�L� �
�
�
�3��%���	�	�	�,���L��J��
�(�.�9�����L��J��s�A'�'B�Bc�Z�	t�}d}|r|Stj|�|�S)Nz*Requires functional symlink implementation)r�unittest�skip��test�ok�msgs   r�skip_unless_symlinkr/�s/��B�	��B�
6�C��4�3�-�8�=�=��-�d�3�3�c���ddl}t�tSttd�sd}|a|Sddl}|j�}|j
|��\}}	ttd�5}	tj|dd�tj|dd	�tj|j�dd�|j�}tjd
|�}|duxst|jd��dk\}ddd�t#t�t#|�t%|�a|S#t $rd}Y�>wxYw#1swY�CxYw#t#t�t#|�t%|�wxYw)
Nr�setxattrF��dirrs	user.testr0strusted.foos42z
2.6.(\d{1,2})��')�tempfile�
_can_xattr�hasattrr�platform�mkdtemp�mkstemprrr2r�release�re�match�int�groupr"r�rmdir)	r7r'r:�tmp_dir�tmp_fp�tmp_name�fp�kernel_version�ms	         r�	can_xattrrI�sB��������2�z�"���.�J��J�-	��"�"�$��#�+�+��+�8����	��f�d�#�r� ��K�K���c�:��K�K��.�%�@��K�K��	�	��\�3�?�%-�%5�%5�%7�N����!1�>�B�A��t�)�<�s�1�7�7�1�:��"�'<�C�$�
�6�N��8���'�N��J��J��� ��C� ��$�#��
�6�N��8���'�N�sC�E
�!E�#BD0�?E
�0D>�;E�=D>�>E�E
�E
�
'E4c�Z�	t�}d}|r|Stj|�|�S)Nz(no non-broken extended attribute support)rIr)r*r+s   r�skip_unless_xattrrK�s/��N�	��B�
4�C��4�3�-�8�=�=��-�d�3�3r0c�`�t�tSttd�sdatS	ttd�5}	tj
td�tjt�j}tj
td�tjt�j}t
j|�t
j|�k7}ddd�tt�a|S#t$r}d}Yd}~�+d}~wwxYw#1swY�4xYw#tt�wxYw)N�chmodFrimi�)�
_can_chmodr9rrrrM�stat�st_mode�S_IMODEr"r)�f�mode1�mode2r'�es     r�	can_chmodrV�s��������2�w���
����
�&�$�
�1�
A������'������/�/�������'������/�/���l�l�5�)�T�\�\�%�-@�@�� �	�v���J��J���
����
��
 �
��	�v��sL�D�D�A:C8�2+D�D�8	D
�D�D�D
�
D�D�D�D-c�Z�	t�}d}|r|Stj|�|�S)Nzrequires working os.chmod())rVr)r*r+s   r�skip_unless_working_chmodrXs3���
��B�
'�C��4�3�-�8�=�=��-�d�3�3r0c�"�t�sdat�tS	ttd�5}t	j
td�	ttd�5	ddd�daddd�	t	j
td�tt�tS#1swY�CxYw#t$rdaY�QwxYw#1swY�VxYw#t$rY�IwxYw#	t	j
td�n#t$rYnwxYwtt�wxYw)NFr�Ti�)rV�_can_dac_overriderrrrMr"r)rRs r�can_dac_overrider\s����;�!���$� � ��
�&�$�
�1��H�H�V�U�#�
)��&�$�'��(�
%)�!� �	��H�H�V�U�#�	�v����(�'���
*�$)�!�
*�� �
���	��	��	��H�H�V�U�#���	��	���v��s��C�B7�B&�B�B&� B7�"C�+C�B#	�B&�&B4�1B7�3B4�4B7�7C�<C�	C�C�D�C/�.D�/	C;�8D�:C;�;Dc�Z�t�}d}|r|Stj|�|�S)Nz"incompatible with CAP_DAC_OVERRIDE�r\r)r*r+s   r�skip_if_dac_overrider_:s0��
�
�	�B�
.�C��4�3�-�8�=�=��-�d�3�3r0c�X�t�}d}|r|Stj|�|�S)Nzrequires CAP_DAC_OVERRIDEr^r+s   r�skip_unless_dac_overridera@s-��	�	�B�
%�C��4�3�-�8�=�=��-�d�3�3r0c�F�	t|�y#ttf$rYywxYw�N)�_unlink�FileNotFoundError�NotADirectoryError��filenames rrrFs'��
������1�2�
��
�s�� � �winc�8�||�|r|}n(tjj|�\}}|xsd}d}|dkr?tj|�}|r|sy|vsyt	j
|�|dz}|dkr�?t
jd|ztd��y)N�.g����MbP?g�?rz)tests may fail, delete still pending for ���
stacklevel)	rr�split�listdir�time�sleep�warnings�warn�RuntimeWarning)�func�pathname�waitall�dirname�name�timeout�Ls       r�_waitforr}Ns����X����G��G�G�M�M�(�3�M�G�T��n��G�����m��
�
�7�#�A� �A��'+�a�i���J�J�w���q�L�G���m�	�
�
�A�H�L�$��	4r0c�8�ttj|�yrc)r}rrrgs rrdrdos������H�%r0c�8�ttj|�yrc)r}rrB�rys r�_rmdirr�rs������7�#r0c�Z���ddlm���fd��t�|d��t�fd�|�y)Nr��
_force_runc�����|tj|�D]�}tjj||�}	tj|�j
}tj|�r't�|d���|tj|���|tj|���y#t$r-}td|�d|��tj��d}Yd}~��d}~wwxYw)Nzsupport.rmtree(): os.lstat(z) failed with rrT�rx)rrpr�join�lstatrPr"�print�sys�
__stderr__rO�S_ISDIRr}rBr)rrz�fullname�mode�excr��
_rmtree_inners     ��rr�z_rmtree.<locals>._rmtree_innerxs����"�4����T�:���7�7�<�<��d�3����8�8�H�-�5�5�D��<�<��%��]�H�d�C��x����8�<��x����H�=�;�����%�s�,�"�~�~�/��D��	�s�B4�4	C*�=#C%�%C*Tr�c�4���|tj|�Src)rrB)�pr�s �r�<lambda>z_rmtree.<locals>.<lambda>�s���:�a����1�5r0)�test.supportr�r})rr�r�s @@r�_rmtreer�us$���+�	>�	���d�3��5�t�<r0c���	ddl}|jt|�dz�}|jjj||t|��}|r|d|S|S#t$rY|SwxYw)Nrr)�ctypes�create_unicode_buffer�len�windll�kernel32�GetLongPathNameW�ImportError)rr��buffer�lengths    r�	_longpathr��s{��
	'��
2�V�1�1�#�d�)�a�-�@�F��]�]�+�+�<�<�T�6�=@��[�J�F���g�v��&�����	����	�s�A�	A*�)A*c���ddl}	|j|�y#t$rYnwxYw�fd���|�tj|�y)Nrc���ddlm}||tj|�D]�}tjj||�}	tj|�j}tj|�r!�|�||tj|��y||tj|���y#t$rd}Y�^wxYw)Nrr�)
r�r�rrprr�r�rPr"rOr�rBr)rr�rzr�r�r�s     �rr�z_rmtree.<locals>._rmtree_inner�s����/�"�4����T�:���7�7�<�<��d�3����8�8�H�-�5�5�D��<�<��%�!�(�+��t�R�X�X�x�8��t�R�Y�Y��9�;�����D��s�B4�4C�C)�shutil�rmtreer"rrB)rr�r�s  @rr�r��sF����	��M�M�$�����	��	��	:�	�d��
����s��	%�%c��|Src��rs rr�r������r0c�:�	t|�y#t$rYywxYwrc)r�rer�s rrBrB�s ��
��w����
��
����	�c�:�	t|�y#t$rYywxYwrc)r�rer�s rr�r��s ��
���
���
��
�r�c#�K�	ddl}d}|�2|j�}d}tjj	|�}n	tj
|�d}|rtj�}	|��|r$tj�k(rt|�yyy#t$r/}|s�tjd|�d|��td��Yd}~�ud}~wwxYw#|r$tj�k(rt|�wwwxYw�w)NrFTz5tests may fail, unable to create temporary directory �: �rm)r7r;rr�realpath�mkdirr"rsrtru�getpidr�)r�quietr7�dir_createdr��pids      r�temp_dirr��s��������K��|����!�����w�w����%��	8��H�H�T�N��K���i�i�k����
��3�"�)�)�+�-��4�L�.�;���	8����M�M�1�15���3�%�A�(�Q�
8�
8��	8���3�"�)�)�+�-��4�L�.�;�sF�<C>�B�C>�-C�1'C>�	C�!%C�C>�C�C>�(C;�;C>c#�K�	tj�}	tjtjj	|��	tj���tj|�y#t
$r/}|s�t
jd|�d|��td��Yd}~�`d}~wwxYw#tj|�wxYw�w)NzBtests may fail, unable to change the current working directory to r�r�rm)	r�getcwd�chdirrr�r"rsrtru)rr��	saved_dirr�s    r�
change_cwdr��s�����
��	�	��I�4�
������!�!�$�'�(���i�i�k��
�������4����
�
�&�&*�X�R��u�6�$��	4�	4��4��	�����s@�C
�2A8�B3�"C
�8	B0�%B+�&C
�+B0�0C
�3C
�
C
c#�K�	t||��5}t||��5}|��ddd�ddd�y#1swY�xYw#1swYyxYw�w)N)rr�)r�)r�r�)rzr��	temp_path�cwd_dirs    r�temp_cwdr�
sF�����
�t�5�	)�Y�
�	��
/�7��M�0�
*�	)�
/�
/��
*�	)�s-�A
�A�5�A�	A
�>	�A�A
�A
c��	tj|tjtjztjz�}tj
|�yrc)rr�O_WRONLY�O_CREAT�O_TRUNCr)rh�fds  r�create_empty_filer�s6��H�	����2�;�;����3�b�j�j�@�	A�B��H�H�R�Lr0c#�K�	tj}ttd�r|tjz}tj||�}	|��tj
|�y#tj
|�wxYw�w)N�O_DIRECTORY)r�O_RDONLYr9r�rr)r�flags�dir_fds   r�open_dir_fdr�$s\����0��K�K�E��r�=�!�
������
�W�W�T�5�
!�F����
�����������s�AB�A(�B�(A?�?Bc�.�	ddl}|j|��5}|j}|j�}||k(r|j	�}	t
jj||�cddd�S#t$rYddd�ywxYw#1swYyxYw)Nrr3F)	r7�NamedTemporaryFilerz�upper�lowerrr�samefilere)�	directoryr7�base�	base_path�	case_paths     r�fs_is_case_insensitiver�2s�����	�	$�	$��	$�	3�t��I�I�	��O�O�%�	��	�!�!���)�I�	��7�7�#�#�I�y�9�

4�	3��!�	��
4�	3�	��
4�	3�s)�2B�A4�4	B�=B�B�B�Bc� �eZdZ	d�Zd�Zd�Zy)�FakePathc��||_yrcr�)�selfrs  r�__init__zFakePath.__init__Ds	����	r0c�"�d|j�d�S)Nz
<FakePath �>r��r�s r�__repr__zFakePath.__repr__Gs���D�I�I�=��*�*r0c���t|jt�s4t|jt�r&t	|jt�r|j�|jSrc)�
isinstancer�
BaseException�type�
issubclassr�s r�
__fspath__zFakePath.__fspath__Js?���t�y�y�-�0��t�y�y�$�'��4�9�9�m�4��)�)�O��9�9�r0N)�__name__�
__module__�__qualname__r�r�r�r�r0rr�r�As����+�r0r�c�F�	tjjd�rd}ntjdk(rd}nd}|�$	tj|�}t|�dz
Sd}ttd�r	tjd�}d}tjd	k(rQ	d
dl
}|ji}|j|j|jfD]}|j|d
�||<�		d
}t#|�D]2}	tj$|�}tj&|�|dz
}�4	|�=j|j|jfD]}|j|||��|S#t$rY��wxYw#t$rY��wxYw#tt f$rY��wxYw#t$r(}	|	j(t(j*k7r�Yd}	~	��d}	~	wwxYw#|�>j|j|jfD]}|j|||��wwxYw)N)�linux�freebsdr	z
/proc/self/fdrz/dev/fdr5rZ�sysconf�SC_OPEN_MAX�win32r)r�r:�
startswithrrpr�rer9r�r"�msvcrt�CrtSetReportMode�CRT_WARN�	CRT_ERROR�
CRT_ASSERTr$r��range�dupr�errno�EBADF)
�fd_path�names�MAXFD�	old_modesr��report_type�countr��fd2rUs
          r�fd_countr�Ss1���
�|�|���A�B�!��	����	!�������	��J�J�w�'�E��u�:��>�!�
�E��r�9��	��J�J�}�-�E��I�
�|�|�w��	D���#�#�
�I� &��� &� 0� 0� &� 1� 1� 3��*0�)@�)@��AB�*D�	�+�&� 3�M�����,�B�	
��f�f�R�j��
����
���
���� � &��� &� 0� 0� &� 1� 1� 3���'�'��Y�{�5K�L� 3�
�L��a!�	��	���	��	����,�	��	��$�
��7�7�e�k�k�)��*��
��� � &��� &� 0� 0� &� 1� 1� 3���'�'��Y�{�5K�L� 3�!�sl�"E5�5F� F�1G�F*�G�5	F�F�	F�F�F'�&F'�*	G�3G�G�G�G�AH �umaskc#�K�	tj|�}	d��tj|�y#tj|�wxYw�wrc)rr�)r��oldmasks  r�
temp_umaskr�s6����F��(�(�5�/��	���H�H�W���B�H�H�W��s�A�4�A�A�Ac#�K�	d��y�wrcr�)r�s rrr�s����0�
�s�	c�V�eZdZ	d�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zy
)�EnvironmentVarGuardc�<�tj|_i|_yrc)r�environ�_environ�_changedr�s rr�zEnvironmentVarGuard.__init__�s���
�
��
���
r0c� �|j|Src)r�r��envvars  r�__getitem__zEnvironmentVarGuard.__getitem__�s���}�}�V�$�$r0c��||jvr(|jj|�|j|<||j|<yrc�r	r�get�r�r�values   r�__setitem__zEnvironmentVarGuard.__setitem__�s9������&�$(�M�M�$5�$5�f�$=�D�M�M�&�!� %��
�
�f�r0c��||jvr(|jj|�|j|<||jvr|j|=yyrcrrs  r�__delitem__zEnvironmentVarGuard.__delitem__�sH������&�$(�M�M�$5�$5�f�$=�D�M�M�&�!��T�]�]�"��
�
�f�%�#r0c�6�|jj�Src)r�keysr�s rrzEnvironmentVarGuard.keys�s���}�}�!�!�#�#r0c�,�t|j�Src)�iterrr�s r�__iter__zEnvironmentVarGuard.__iter__�s���D�M�M�"�"r0c�,�t|j�Src)r�rr�s r�__len__zEnvironmentVarGuard.__len__�s���4�=�=�!�!r0c��|||<yrcr�rs   r�setzEnvironmentVarGuard.set�s����V�r0c�
�||=yrcr�rs  r�unsetzEnvironmentVarGuard.unset�s	����Lr0c��t|�Src)�dictr�s r�copyzEnvironmentVarGuard.copy�s���D�z�r0c��|Srcr�r�s r�	__enter__zEnvironmentVarGuard.__enter__�r�r0c���|jj�D]3\}}|�||jvs�|j|=�%||j|<�5|jt_yrc)r	�itemsrrr)r��
ignore_exc�k�vs    r�__exit__zEnvironmentVarGuard.__exit__�sU���m�m�)�)�+�F�Q���y���
�
�%��
�
�a�(�#$��
�
�a� �,��]�]��
r0N)r�r�r�r�r
rrrrrrr r#r%r+r�r0rrr�sC����%�&�&�$�#�"�����#r0rr�T)�use_last_errorrl�c#�K�	ttj�D]<}|�d�}tj	|dd�r� tj�tk(s�<ntjd��tjt||�s'tjtj���	|��tjttz||�s'tjtj���y#tjttz||�s'tjtj���wxYw�w)N�:rzno available logical drive)�reversed�string�ascii_uppercaser��QueryDosDeviceWr��get_last_error�ERROR_FILE_NOT_FOUNDr)�SkipTest�DefineDosDeviceW�DDD_NO_BROADCAST_SYSTEM�WinError�DDD_REMOVE_DEFINITION�DDD_EXACT_MATCH_ON_REMOVE)r�c�drives   r�subst_driver>�s����D��&�0�0�1�A��c��G�E��,�,�U�D�!�<��)�)�+�/C�C��	2��#�#�$@�A�A��(�(�'���6��/�/�&�"7�"7�"9�:�:�	?��K��,�,�)�,E�E��4�!��o�o�f�&;�&;�&=�>�>�!��8�,�,�)�,E�E��4�!��o�o�f�&;�&;�&=�>�>�!�s+�:E�E�AE�4D�8A
E�AE
�
Ec�,�tjd��)Nz#ctypes or kernel32 is not available)r)r6r�s rr>r>�s����� E�F�Fr0)F)NF)�tempcwdF)Y�collections.abc�collections�
contextlibr�rr>rOr1r�rqr)rsr,r�TESTFN_ASCII�formatr��TESTFN_UNICODEr:�unicodedata�	normalize�TESTFN_UNENCODABLErz�getwindowsversion�encode�getfilesystemencodingr��UnicodeEncodeError�decode�UnicodeDecodeError�FS_NONASCII�	character�fsdecode�fsencode�UnicodeErrorr��SAVEDCWD�TESTFN_UNDECODABLE�getfilesystemencodeerrors�TESTFN_NONASCIIrrrrr/r8rIrKrNrVrXr[r\r_rarr�r}rdr�r�r�rBr��contextmanagerr�r�r�r�r�r�r�r�r9r�abc�MutableMappingr�
MS_WINDOWSr��WinDLLr�r5r:r;r8r$r>r�r�r0r�<module>r^s������	�	��
�
��������!�!�,�	��	�	��<��� =�=���<�<�8���*�[�*�*�5�.�A�N�
���7�7�d�?��s����'�'�1�,�*�,M�M��	&��%�%�&?�c�&?�&?�&A�B�
�'�)B��)B�)B�)D�F�
G�"&���\�\�9�9�

����0�s�0�0�2�3�	
��� �I�B
��2�;�;�{�r�{�{�9�-�.�)�;���<�
 ��
�W �\�2�9�9�;����
�D�"	����-�C�-�-�/�0�%
�8�"�[�0�O��O�	�	(�L��
����(4��
��B4��
��04����84�4�
��<�<���5�!�4�B&�$�=�*��i�i�G�
�X�X�F��0�
�
����%��%�P������6������&����
��
����$@�F�2�w��������������
6#�+�/�/�8�8�6#�r"?����� �6�=�=��D�A�� �� !��$%�!�"#����	 ����?��?��G"�	��	���N�)��o�o�7�c�7�7�9�;L�M�N��N��f�
��
��F��	��K�K�1��1�1�3�5��5�5�7�
9��!�	��	��(�R�[�[��6��=��
���x	�^�$�G�G�G�s~�6 L� L�/'M�5 M�/N8�L�L�)M�M�M�M�N5�0N�
N5�N�N5�N�N5�4N5�8
O�O

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