
    3fiQ                     ^    d dl Z d dlZd dlmZmZ d dlmZ d dlmZ d dl	m
Z
  G d de      Zy)    N)AnyIterator)Document)
BaseLoader)UnstructuredFileLoaderc                   6    e Zd ZdZdededefdZdee   fdZ	y)	TencentCOSFileLoaderz#Load from `Tencent Cloud COS` file.confbucketkeyc                 .    || _         || _        || _        y)zInitialize with COS config, bucket and key name.
        :param conf(CosConfig): COS config.
        :param bucket(str): COS bucket.
        :param key(str): COS file key.
        N)r
   r   r   )selfr
   r   r   s       s/var/www/auto_recruiter/arenv/lib/python3.12/site-packages/langchain_community/document_loaders/tencent_cos_file.py__init__zTencentCOSFileLoader.__init__   s     	    returnc                    	 ddl m}  || j                        }t	        j
                         5 }| d| j                   d| j                   }t        j                  t        j                  j                  |      d       |j                  | j                  | j                  |       t        |      }t        |j                               cddd       S # t        $ r t        d      w xY w# 1 sw Y   yxY w)	zLoad documents.r   )CosS3ClientzjCould not import cos-python-sdk-v5 python package. Please install it with `pip install cos-python-sdk-v5`./T)exist_ok)BucketKeyDestFilePathN)
qcloud_cosr   ImportErrorr
   tempfileTemporaryDirectoryr   r   osmakedirspathdirnamedownload_filer   iterload)r   r   clienttemp_dir	file_pathloaders         r   	lazy_loadzTencentCOSFileLoader.lazy_load   s    	. TYY'((* 		'h#*Adkk]!DHH:>IKK	2TB  {{y !  ,I6F&		' 		'  	J 			' 		's   C BC.C+.C7N)
__name__
__module____qualname____doc__r   strr   r   r   r)    r   r   r	   r	      s0    -S # C '8H- 'r   r	   )r   r   typingr   r   langchain_core.documentsr   )langchain_community.document_loaders.baser   1langchain_community.document_loaders.unstructuredr   r	   r/   r   r   <module>r4      s#    	    - @ T"': "'r   