| Server IP : 127.0.0.1 / Your IP : 216.73.216.109 Web Server : Apache/2.4.54 (Win64) OpenSSL/1.1.1q PHP/8.1.10 System : Windows NT DESKTOP-E5T4RUN 10.0 build 19045 (Windows 10) AMD64 User : SERVERWEB ( 0) PHP Version : 8.1.10 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : C:/cygwin64/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/ |
Upload File : |
a
X��e � @ sf d dl Z d dlZd dlZd dlZd dlZd dlmZ d dlmZ d dl m
Z
mZmZm
Z
mZmZ d dlmZmZmZ d dlmZ d dlmZ eed�d d
�Zeee
eeddf d�dd
��Zeded�ed�d�Zeej�Zeed�dd�Zeed�dd�Zeee
e d�dd�Z eee!e"f d�dd�Z#eed�dd�Z$eee!e"f d�dd�Z%eed�dd �Z&dS )!� N)�contextmanager)�NamedTemporaryFile)�Any�BinaryIO� Generator�List�Union�cast)�retry�stop_after_delay�
wait_fixed)�get_path_uid)�format_size)�path�returnc C s� t jdksttd�sdS tj�| �s(J �d }| |kr�tj�| �r�t�� dkrvzt| �}W n t yl Y dS 0 |dkS t�
| tj�S q,| tj�| � }} q,dS )N�win32�geteuidTr F)
�sys�platform�hasattr�osr �isabs�lexistsr r
�OSError�access�W_OK�dirname)r ZpreviousZpath_uid� r �B/usr/lib/python3.9/site-packages/pip/_internal/utils/filesystem.py�check_path_owner s r )r �kwargsr c k s� t f dtj�| �tj�| �dd�|���T}tt|�}z |V W |�� t�|� � � n|�� t�|� � � 0 W d � n1 s�0 Y dS )a% Return a file-like object pointing to a tmp file next to path.
The file is created securely and is ensured to be written to disk
after the context reaches its end.
kwargs will be passed to tempfile.NamedTemporaryFile to control
the way the temporary file will be opened.
Fz.tmp)�delete�dir�prefix�suffixN)
r r r r �basenamer r �flush�fsync�fileno)r r �f�resultr r r �adjacent_tmp_file+ s
��
�r+ T� g �?)Zreraise�stop�waitc C sH t j�| �s(t j�| �}|| kr"q(|} q t jdkr@t �| t j�S t| �S )zgCheck if a directory is writable.
Uses os.access() on POSIX, tries creating files on Windows.
�posix)r r �isdirr �namer r �_test_writable_dir_win)r �parentr r r �test_writable_dirL s
r4 c s� d}d� t d�D ]�}|d�� fdd�t d�D �� }tj�| |�}zt�|tjtjB tjB �}W n& tyr Y q t y� Y dS 0 t�
|� t�|� d S qtd
��d S )NZ(accesstest_deleteme_fishfingers_custard_Z$abcdefghijklmnopqrstuvwxyz0123456789�
� c 3 s | ]}t �� �V qd S �N)�random�choice)�.0�_�Zalphabetr r � <genexpr>d � z)_test_writable_dir_win.<locals>.<genexpr>� FTz3Unexpected condition testing for writable directory)
�range�joinr r �open�O_RDWR�O_CREAT�O_EXCL�FileExistsError�PermissionError�close�unlinkr )r r% r; r1 �file�fdr r<