Файловый менеджер - Редактировать - /home/digitalm/venv/lib/python3.7/site-packages/pip/_vendor/cachecontrol/caches/__pycache__/file_cache.cpython-37.pyc
Назад
B �5�g� � @ s� d dl mZ d dlZd dlZd dlmZ d dlmZmZ d dl m Z mZ d dlm Z erpd dlmZ d dlmZ d d dd�d d�ZG dd� d�ZG dd� dee �ZG dd� dee�Zd dd d�dd�ZdS )� )�annotationsN)�dedent)�IO� TYPE_CHECKING)� BaseCache�SeparateBodyBaseCache)�CacheController)�datetime)�BaseFileLock�str�intz IO[bytes])�filename�fmode�returnc C s� t j}|t jt jB O }tt d�r*|t jO }tt d�r>|t jO }yt �| � W n tk r` Y nX t � | ||�}yt � |d�S t �|� � Y nX d S )N� O_NOFOLLOW�O_BINARY�wb)�os�O_WRONLY�O_CREAT�O_EXCL�hasattrr r �remove�OSError�open�fdopen�close)r r �flags�fd� r �K/tmp/pip-install-251nq386/pip/pip/_vendor/cachecontrol/caches/file_cache.py�_secure_open_write s r! c @ s� e Zd ZdZd#ddddd d d�dd �Zeddd�dd��Zddd�dd�Zddd�dd�Zd$dddd d�dd�Z ddd d�dd�Z ddd d �d!d"�ZdS )%�_FileCacheMixinz2Shared implementation for both FileCache variants.F� � Nr �boolr ztype[BaseFileLock] | None�None)� directory�forever�filemode�dirmode� lock_classr c C sd y|d krddl m} |}W n$ tk r@ td�}t|��Y nX || _|| _|| _|| _|| _d S )Nr )�FileLockz� NOTE: In order to use the FileCache you must have filelock installed. You can install it via pip: pip install filelock ) �filelockr, �ImportErrorr r'