§
    šŠtjW
  ã                  ó`   — d dl mZ d dlmZmZmZmZ d dlmZ erd dl	m
Z
  G d„ d¦  «        ZdS )é    )Úannotations)ÚTYPE_CHECKINGÚIteratorÚListÚOptional)Úget_from_env©ÚODPSc                  óJ   — e Zd ZdZdd„Zedddœdd„¦   «         Zdd„Zdd„ZdS )ÚMaxComputeAPIWrapperz7Interface for querying Alibaba Cloud MaxCompute tables.Úclientr
   c                ó   — || _         dS )zvInitialize MaxCompute document loader.

        Args:
            client: odps.ODPS MaxCompute client object.
        N)r   )Úselfr   s     úg/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/langchain_community/utilities/max_compute.pyÚ__init__zMaxComputeAPIWrapper.__init__   s   € ð ˆŒˆˆó    N)Ú	access_idÚsecret_access_keyÚendpointÚstrÚprojectr   úOptional[str]r   Úreturnc               ó"  — 	 ddl m} n"# t          $ r}t          d¦  «        |‚d}~ww xY w|pt          dd¦  «        }|pt          dd¦  «        } |||||¬	¦  «        }|                     |¦  «        st          d
|› d�¦  «        ‚ | |¦  «        S )az  Convenience constructor that builds the odsp.ODPS MaxCompute client from
            given parameters.

        Args:
            endpoint: MaxCompute endpoint.
            project: A project is a basic organizational unit of MaxCompute, which is
                similar to a database.
            access_id: MaxCompute access ID. Should be passed in directly or set as the
                environment variable `MAX_COMPUTE_ACCESS_ID`.
            secret_access_key: MaxCompute secret access key. Should be passed in
                directly or set as the environment variable
                `MAX_COMPUTE_SECRET_ACCESS_KEY`.
        r   r	   zCould not import pyodps python package. Please install it with `pip install pyodps` or refer to https://pyodps.readthedocs.io/.Nr   ÚMAX_COMPUTE_ACCESS_IDr   ÚMAX_COMPUTE_SECRET_ACCESS_KEY)r   r   r   r   zThe project "z" does not exist.)Úodpsr
   ÚImportErrorr   Úexist_projectÚ
ValueError)Úclsr   r   r   r   r
   Úexr   s           r   Úfrom_paramsz MaxComputeAPIWrapper.from_params   sð   € ð,	Ø!Ð!Ð!Ð!Ð!Ð!Ð!øÝð 	ð 	ð 	Ýð2ñô ð ð	øøøøð	øøøð ÐS¥¨kÐ;RÑ!SÔ!Sˆ	Ø-ð 
µØÐ!@ñ2
ô 2
Ðð �ØØ/ØØð	
ñ 
ô 
ˆð ×#Ò# GÑ,Ô,ð 	IÝÐG¨WÐGÐGÐGÑHÔHÐHàˆs�6‰{Œ{Ðs   ‚	 ‰
(“#£(ÚqueryúIterator[dict]c              #  óð   K  — | j                              |¦  «                             ¦   «         5 }|j        dk    rt	          d¦  «        ‚|D ]}d„ |D ¦   «         V — Œ	 d d d ¦  «         d S # 1 swxY w Y   d S )Nr   zTable contains no data.c                ó   — i | ]\  }}||“Œ	S © r(   )Ú.0ÚkÚvs      r   ú
<dictcomp>z3MaxComputeAPIWrapper.lazy_query.<locals>.<dictcomp>I   s   € Ð/Ð/Ð/¡  1�q˜!Ð/Ð/Ð/r   )r   Úexecute_sqlÚopen_readerÚcountr    )r   r$   ÚreaderÚrecords       r   Ú
lazy_queryzMaxComputeAPIWrapper.lazy_queryC   sÖ   è è € àŒ[×$Ò$ UÑ+Ô+×7Ò7Ñ9Ô9ð 	0¸VØŒ|˜qÒ Ð Ý Ð!:Ñ;Ô;Ð;Ø ð 0ð 0�Ø/Ð/¨Ð/Ñ/Ô/Ð/Ð/Ð/Ð/ð0ð	0ð 	0ð 	0ñ 	0ô 	0ð 	0ð 	0ð 	0ð 	0ð 	0ð 	0ð 	0øøøð 	0ð 	0ð 	0ð 	0ð 	0ð 	0s   ¯.A+Á+A/Á2A/ú
List[dict]c                óF   — t          |                      |¦  «        ¦  «        S )N)Úlistr2   )r   r$   s     r   r$   zMaxComputeAPIWrapper.queryK   s   € Ý�D—O’O EÑ*Ô*Ñ+Ô+Ð+r   )r   r
   )
r   r   r   r   r   r   r   r   r   r   )r$   r   r   r%   )r$   r   r   r3   )	Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Úclassmethodr#   r2   r$   r(   r   r   r   r      s‰   € € € € € ØAÐAðð ð ð ð ð $(Ø+/ð*ð *ð *ð *ð *ñ „[ð*ðX0ð 0ð 0ð 0ð,ð ,ð ,ð ,ð ,ð ,r   r   N)Ú
__future__r   Útypingr   r   r   r   Úlangchain_core.utilsr   r   r
   r   r(   r   r   ú<module>r>      s£   ðØ "Ð "Ð "Ð "Ð "Ð "à :Ð :Ð :Ð :Ð :Ð :Ð :Ð :Ð :Ð :Ð :Ð :à -Ð -Ð -Ð -Ð -Ð -àð ØÐÐÐÐÐðA,ð A,ð A,ð A,ð A,ñ A,ô A,ð A,ð A,ð A,r   