
    3fi8                         d dl Z 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  e j                  e      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)	BaiduBOSFileLoaderz!Load from `Baidu Cloud BOS` file.confbucketkeyc                 .    || _         || _        || _        y)zInitialize with BOS config, bucket and key name.
        :param conf(BceClientConfiguration): BOS config.
        :param bucket(str): BOS bucket.
        :param key(str): BOS file key.
        N)r
   r   r   )selfr
   r   r   s       v/var/www/auto_recruiter/arenv/lib/python3.12/site-packages/langchain_community/document_loaders/baiducloud_bos_file.py__init__zBaiduBOSFileLoader.__init__   s     	    returnc                    	 ddl m}  || j                        }t	        j
                         5 }| d| j                   d| j                   }t        j                  t        j                  j                  |      d       t        j                  d| j                   d|        |j                  | j                  | j                  |       	 t        |      }|j!                         }t#        |      cd	d	d	       S # t        $ r t        d      w xY w# t$        $ rA}t        j'                  d
|        t#        t)        d      g      cY d	}~cd	d	d	       S d	}~ww xY w# 1 sw Y   y	xY w)zLoad documents.r   )	BosClientzLPlease using `pip install bce-python-sdk` before import bos related package./T)exist_okzget object key z	 to file Nzload document error =  )page_content) baidubce.services.bos.bos_clientr   ImportErrorr
   tempfileTemporaryDirectoryr   r   osmakedirspathdirnameloggerdebugget_object_to_filer   loaditer	Exceptionerrorr   )r   r   clienttemp_dir	file_pathloader	documentsexs           r   	lazy_loadzBaiduBOSFileLoader.lazy_load   s8   	B 499%((* 	9h#*Adkk]!DHH:>IKK	2TBLL?488*Ii[IJ%%dkk488YG9/	:"KKM	I	9 	9  	8 	$  95bT:;X26788	9 	99	9 	9sA   C= BE"%D=D	E-EEE"EE""E+N)
__name__
__module____qualname____doc__r   strr   r   r   r.    r   r   r	   r	      s0    +S # C 98H- 9r   r	   )loggingr   r   typingr   r   langchain_core.documentsr   )langchain_community.document_loaders.baser   1langchain_community.document_loaders.unstructuredr   	getLoggerr/   r!   r	   r4   r   r   <module>r;      s8     	    - @ T			8	$%9 %9r   