Ë
    µŒjò  ã                   ó–   — d dl Z d dlZd dlmZmZmZ d dlmZ d dlm	Z	 d dl
mZ d dlmZ d dlmZ  edd	d
¬«       G d„ de«      «       Zy)é    N)ÚCallableÚListÚOptional)Ú
deprecated)ÚDocument)Ú
BaseLoader©ÚUnstructuredFileLoader)Úget_client_infoz0.0.32z1.0z(langchain_google_community.GCSFileLoader)ÚsinceÚremovalÚalternative_importc                   óP   — e Zd ZdZ	 d
dedededeeegef      fd„Zde	e
   fd	„Zy)ÚGCSFileLoaderzLoad from GCS file.NÚproject_nameÚbucketÚblobÚloader_funcc                 óp   — || _         || _        || _        dt        dt        fd„}|r|| _        y|| _        y)a9  Initialize with bucket and key name.

        Args:
            project_name: The name of the project to load
            bucket: The name of the GCS bucket.
            blob: The name of the GCS blob to load.
            loader_func: A loader function that instantiates a loader based on a
                file_path argument. If nothing is provided, the
                UnstructuredFileLoader is used.

        Examples:
            To use an alternative PDF loader:
            >> from from langchain_community.document_loaders import PyPDFLoader
            >> loader = GCSFileLoader(..., loader_func=PyPDFLoader)

            To use UnstructuredFileLoader with additional arguments:
            >> loader = GCSFileLoader(...,
            >>      loader_func=lambda x: UnstructuredFileLoader(x, mode="elements"))

        Ú	file_pathÚreturnc                 ó   — t        | «      S ©Nr	   )r   s    úw/var/www/html/Fitness-lenito-AI-main/venv/lib/python3.12/site-packages/langchain_community/document_loaders/gcs_file.pyÚdefault_loader_funcz3GCSFileLoader.__init__.<locals>.default_loader_func4   s   € Ü)¨)Ó4Ð4ó    N)r   r   r   Ústrr   Ú_loader_func)Úselfr   r   r   r   r   s         r   Ú__init__zGCSFileLoader.__init__   sA   € ð6 ˆŒØˆŒ	Ø(ˆÔð	5¬3ð 	5´:ó 	5ñ ,7˜KˆÕÐ<OˆÕr   r   c                 ó@  — 	 ddl m} |j                  | j                  t        d«      ¬«      }|j                  | j                  «      }|j                  | j                  «      }|j                  | j                  «      j                  }t        j                  «       5 }|› d| j                  › �}t        j                  t        j                  j!                  |«      d¬«       |j#                  |«       | j%                  |«      }|j'                  «       }	|	D ]W  }
d	|
j                  v r)d
| j                  › d| j                  › �|
j                  d	<   |sŒ=|
j                  j)                  |«       ŒY |	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   )ÚstoragezpCould not import google-cloud-storage python package. Please install it with `pip install google-cloud-storage`.zgoogle-cloud-storage)Úclient_infoÚ/T)Úexist_okÚsourcezgs://N)Úgoogle.cloudr"   ÚImportErrorÚClientr   r   Ú
get_bucketr   r   Úget_blobÚmetadataÚtempfileÚTemporaryDirectoryÚosÚmakedirsÚpathÚdirnameÚdownload_to_filenamer   ÚloadÚupdate)r   r"   Ústorage_clientr   r   r,   Útemp_dirr   ÚloaderÚdocsÚdocs              r   r4   zGCSFileLoader.load9   s^  € ð	Ý,ð !Ÿ™Ø×Ñ¬?Ð;QÓ+Rð (ó 
ˆð  ×*Ñ*¨4¯;©;Ó7ˆà�{‰{˜4Ÿ9™9Ó%ˆà—?‘? 4§9¡9Ó-×6Ñ6ˆÜ×(Ñ(Ô*¨hØ#˜* A d§i¡i [Ð1ˆIÜ�K‰KœŸ™Ÿ™¨	Ó2¸TÕBà×%Ñ% iÔ0Ø×&Ñ& yÓ1ˆFØ—;‘;“=ˆDÛ�Ø˜sŸ|™|Ñ+Ø/4°T·[±[°MÀÀ4Ç9Á9À+Ð-N�C—L‘L Ñ*ÚØ—L‘L×'Ñ'¨Õ1ð	 ð
 ÷ +Ñ*øô! ò 	ÜðMóð ð	ú÷  +Ð*ús   ‚E< ÂB6FÅFÅ<FÆFr   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r    r   r   r4   © r   r   r   r      s_   „ ñ ð >Bñ"Pàð"Pð ð"Pð ð	"Pð
 ˜h¨ u¨jÐ'8Ñ9Ñ:ó"PðH �d˜8‘nô  r   r   )r/   r-   Útypingr   r   r   Úlangchain_core._api.deprecationr   Úlangchain_core.documentsr   Ú)langchain_community.document_loaders.baser   Ú1langchain_community.document_loaders.unstructuredr
   Ú&langchain_community.utilities.vertexair   r   r?   r   r   Ú<module>rF      sL   ðÛ 	Û ß +Ñ +å 6Ý -å @Ý TÝ Bñ Ø
ØØAôô
G�Jó Góñ
Gr   