
    hhQ                     f    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dS )    N)AnyIterator)Document)
BaseLoader)UnstructuredFileLoaderc                   >    e Zd ZdZdededefdZdee         fdZ	dS )	TencentCOSFileLoaderz#Load from `Tencent Cloud COS` file.confbucketkeyc                 0    || _         || _        || _        dS )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       r/var/www/FlaskApp/flask-venv/lib/python3.11/site-packages/langchain_community/document_loaders/tencent_cos_file.py__init__zTencentCOSFileLoader.__init__   s     	    returnc                    	 ddl m} n# t          $ r t          d          w xY w || j                  }t	          j                    5 }| d| j         d| j         }t          j	        t          j
                            |          d           |                    | j        | j        |           t          |          }t          |                                          cddd           S # 1 swxY w Y   dS )	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^   	....... 	 	 	J  	 TY''(** 		'h#>>dk>>DH>>IK	22TBBBB  {y !    ,I66F&&		' 		' 		' 		' 		' 		' 		' 		' 		' 		' 		' 		' 		' 		' 		' 		' 		' 		's   	 #	BC//C36C3N)
__name__
__module____qualname____doc__r   strr   r   r   r)    r   r   r	   r	      sc        --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 T T T T T"' "' "' "' "': "' "' "' "' "'r   