Файловый менеджер - Редактировать - /opt/imh-python/lib/python3.9/site-packages/celery/backends/__pycache__/s3.cpython-39.pyc
Ðазад
a t�h� � @ sp d Z ddlmZ ddlmZ ddlmZ zddlZddlZW n e yV dZdZY n0 dZ G dd � d e�ZdS ) zs3 result store backend.� )�bytes_to_str)�ImproperlyConfigured� )�KeyValueStoreBackendN)� S3Backendc sH e Zd ZdZ� fdd�Zdd� Zdd� Zdd � Zd d� Zdd � Z � Z S )r a0 An S3 task result store. Raises: celery.exceptions.ImproperlyConfigured: if module :pypi:`boto3` is not available, if the :setting:`aws_access_key_id` or setting:`aws_secret_access_key` are not set, or it the :setting:`bucket` is not set. c s� t � jf i |�� trts"td��| jj}|�dd �| _|�dd �| _ |�dd �| _ |�dd �| _|�dd �| _| js~td��|�dd �| _ | �� | _d S ) Nz'You must install boto3to use s3 backendZs3_endpoint_urlZ s3_regionZs3_access_key_idZs3_secret_access_keyZ s3_bucketzMissing bucket nameZs3_base_path)�super�__init__�boto3�botocorer Zapp�conf�get�endpoint_url� aws_region�aws_access_key_id�aws_secret_access_key�bucket_name� base_path�_connect_to_s3�_s3_resource)�self�kwargsr �� __class__� ��/root/rpmbuild/BUILDROOT/imh-python39-modules-3.9.7-92.el8.x86_64/opt/imh-python/lib/python3.9/site-packages/celery/backends/s3.pyr s zS3Backend.__init__c C s$ | j r| j | n|}| j�| j|�S �N)r r ZObjectr )r �keyZkey_bucket_pathr r r �_get_s3_object5 s zS3Backend._get_s3_objectc C s� t |�}| �|�}z2|�� |�� d �� }| jdkr:|n|�d�W S tjj y� } z0|j d d dkrxW Y d }~d S |�W Y d }~n d }~0 0 d S )N�Body�binaryzutf-8�ErrorZCodeZ404)r r �loadr �read�content_encoding�decoder � exceptionsZClientError�response)r r � s3_object�data�errorr r r r 9 s z S3Backend.getc C s"