a lj9 @ s| d dl Z d dlZd dlmZ ddlmZ ddlmZ ze W n e yV e efZY n0 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 fyb Y n0 t | ||}zt |dW S t | Y n0 d S )N O_NOFOLLOWO_BINARYwb) osO_WRONLYO_CREATO_EXCLhasattrr r removeIOErrorOSErroropenfdopenclose)filenameZfmodeflagsfd r N/usr/lib/python3.9/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 ur|d urt dzddlm} ddlm} W n" tyV td} t| Y n0 |rb|}n|d u rn|}|| _|| _|| _ || _ || _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&