U .e9 @ s~ d dl Z d dlZd dlmZ ddlmZ ddlmZ ze W n e k rX e efZY nX dd ZG dd d eZ d d ZdS ) N)dedent ) BaseCache)CacheControllerc C s t j}|t jt jB O }tt dr*|t jO }tt dr>|t jO }zt | W n tt fk rd Y nX t | ||}zt |dW S t | Y nX d S )N O_NOFOLLOWO_BINARYwb) osO_WRONLYO_CREATO_EXCLhasattrr r removeIOErrorOSErroropenfdopenclose)filenameZfmodeflagsfd r N/usr/lib/python3.8/site-packages/pip/_vendor/cachecontrol/caches/file_cache.py_secure_open_write s r c @ sB e Zd ZdddZedd Zd d Zdd Zd d Zdd Z dS ) FileCacheF Nc C s |d k r|d k rt dzddlm} ddlm} W n$ tk rX td} t| Y nX |rd|}n|d krp|}|| _|| _|| _ || _ || _d S )Nz/Cannot use use_dir_lock and lock_class togetherr )LockFile) MkdirLockFilez NOTE: In order to use the FileCache you must have lockfile installed. You can install it via pip: pip install lockfile ) ValueErrorZlockfiler Zlockfile.mkdirlockfiler ImportErrorr directoryforeverfilemodedirmode lock_class) selfr! r" r# r$ Zuse_dir_lockr% r r Znoticer r r __init__: s&