Файловый менеджер - Редактировать - /opt/imh-python/lib/python3.9/site-packages/libcloud/storage/drivers/__pycache__/local.cpython-39.pyc
Ðазад
a q�hRT � @ s0 d Z ddlmZ ddlZddlZddlZzddlZddlmZmZ W n e y^ e d��Y n0 ddl mZ ddl mZ ddl mZ dd l mZ dd lmZ ddlmZmZmZ ddlmZ dd lmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddgZG dd� de �Z!G dd� de�Z"dS )z; Provides storage driver for working with local filesystem � )�with_statementN)�LockTimeout� mkdirlockfilezOMissing lockfile dependency, you can install it using pip: pip install lockfile)�read_in_chunks)�exhaust_iterator)�relpath)�u)� Connection)�Object� Container� StorageDriver)� LibcloudError)�ContainerAlreadyExistsError)�ContainerDoesNotExistError)�ContainerIsNotEmptyError)�ObjectError)�ObjectDoesNotExistError��InvalidContainerNameErrorz.lockz.hashc @ s( e Zd ZdZdd� Zdd� Zdd� ZdS ) �LockLocalStoragezF A class to help in locking a local path before being updated c C s || _ tj| j dd�| _d S )NT�Zthreaded)�pathr Z MkdirLockFile�lock)�selfr � r ��/root/rpmbuild/BUILDROOT/imh-python39-modules-3.9.7-92.el8.x86_64/opt/imh-python/lib/python3.9/site-packages/libcloud/storage/drivers/local.py�__init__6 s zLockLocalStorage.__init__c C s2 z| j jdd� W n ty, td��Y n0 d S )Ng�������?)�timeoutzLock timeout)r �acquirer r )r r r r � __enter__: s zLockLocalStorage.__enter__c C s$ | j �� r| j �� |d ur |�d S )N)r Z is_locked�release)r �type�value� tracebackr r r �__exit__@ s zLockLocalStorage.__exit__N)�__name__� __module__�__qualname__�__doc__r r r$ r r r r r 2 s r c s� e Zd ZdZeZdZdZdZd8� fdd� Z d9d d �Z dd� Zd d� Zdd� Z dd� Zdd� Zd:dd�Zdd� Zd;dd�Zdd� Zdd� Zd d!� Zd"d#� Zd<d$d%�Zd=d&d'�Zd>d(d)�Zd?d*d+�Zd@d,d-�ZdAd.d/�Zd0d1� Zd2d3� Zd4d5� ZdBd6d7�Z � Z!S )C�LocalStorageDriverz� Implementation of local file-system based storage. This is helpful where the user would want to use the same code (using libcloud) and switch between cloud storage and local storage z Local Storagezhttp://example.com�md5NTc sB || _ tj�| j �std��tt| �jf |||||d�|�� d S )Nz The base path is not a directory)�key�secret�secure�host�port)� base_path�osr �isdirr �superr) r )r r+ r, r- r. r/ �kwargs�� __class__r r r T s ��zLocalStorageDriver.__init__c C sL zt �|� W n8 tyF } z |jtjkr2|s2|�W Y d}~n d}~0 0 dS )z@ Create a path by checking if it already exists N)r1 �makedirs�OSError�errno�EEXIST)r r �ignore_existing�expr r r � _make_patha s zLocalStorageDriver._make_pathc C s"