
    Jih.                        d dl Z d dlZd dlmZ ddlmZ ddl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 	 d dlZej*                  j-                  d      red dlmZ  G d d      Z G d d      Zy# e$ r d dlZY  w xY w)    N)JSONDecodeError   )ApiError)AsyncClientWrapperSyncClientWrapper)remove_none_from_dict)UnprocessableEntityError)HttpValidationError)PageScreenshotMetadata)PresignedUrlz1.c                   J   e Zd ZdefdZddddedej                  e   dej                  e   dej                  e	   fd	Z
dddded
edej                  e   dej                  e   dej                  f
dZdddded
edej                  e   dej                  e   def
dZy)PageScreenshotsClientclient_wrapperc                    || _         y N_client_wrapperselfr   s     /var/www/html/BankruptcyAI-uat/bankruptcy-ai/venv/lib/python3.12/site-packages/llama_cloud/resources/page_screenshots/client.py__init__zPageScreenshotsClient.__init__   
    -    N
project_idorganization_ididr   r   returnc          	         | j                   j                  j                  dt        j                  j                  | j                   j                          dd| d      t        ||d      | j                   j                         d      }d|j                  cxk  rd	k  r<n n9t        j                  t        j                  t           |j                               S |j                  d
k(  r1t!        t        j                  t"        |j                                     	 |j                         }t'        |j                  |      # t$        $ r" t'        |j                  |j(                        w xY w)a  
        List metadata for all screenshots of pages from a file.

        Parameters:
            - id: str.

            - project_id: typing.Optional[str].

            - organization_id: typing.Optional[str].
        ---
        from llama_cloud.client import LlamaCloud

        client = LlamaCloud(
            token="YOUR_TOKEN",
        )
        client.page_screenshots.list_file_page_screenshots(
            id="string",
        )
        GET/api/v1/files//page_screenshotsr   <   paramsheaderstimeout   ,    status_codebodyr   httpx_clientrequesturllibparseurljoinget_base_urlr   get_headersr-   pydanticparse_obj_astypingListr   jsonr	   r
   r   r   textr   r   r   r   	_response_response_jsons         r   list_file_page_screenshotsz0PageScreenshotsClient.list_file_page_screenshots   s=   , ((55==LL  D$8$8$E$E$G#H!Jm\^[__pLqr(
Wf)gh((446 > 
	 )''-#-((5K)LinnN^__  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN  	Sy'<'<9>>RR	Ss   E +E0
page_indexc          
         | j                   j                  j                  dt        j                  j                  | j                   j                          dd| d|       t        ||d      | j                   j                         d      }d|j                  cxk  rd	k  r5n n2t        j                  t        j                  |j                               S |j                  d
k(  r1t        t        j                  t         |j                                     	 |j                         }t%        |j                  |      # t"        $ r" t%        |j                  |j&                        w xY w)a  
        Get screenshot of a page from a file.

        Parameters:
            - id: str.

            - page_index: int.

            - project_id: typing.Optional[str].

            - organization_id: typing.Optional[str].
        ---
        from llama_cloud.client import LlamaCloud

        client = LlamaCloud(
            token="YOUR_TOKEN",
        )
        client.page_screenshots.get_file_page_screenshot(
            id="string",
            page_index=1,
        )
        r    r!   r"   /page_screenshots/r   r$   r%   r)   r*   r+   r,   r   r0   r1   r2   r3   r4   r5   r   r6   r-   r7   r8   r9   Anyr;   r	   r
   r   r   r<   r   r   rA   r   r   r>   r?   s          r   get_file_page_screenshotz.PageScreenshotsClient.get_file_page_screenshotC   s@   < ((55==LL  ''4467q9]2$N`ak`l;m )
Wf)gh((446 > 
	 )''-#-((Y^^5EFF  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN  	Sy'<'<9>>RR	Ss   E   +E+c                   | j                   j                  j                  dt        j                  j                  | j                   j                          dd| d| d      t        ||d      | j                   j                         d      }d	|j                  cxk  rd
k  r+n n(t        j                  t        |j                               S |j                  dk(  r1t        t        j                  t        |j                                     	 |j                         }t#        |j                  |      # t         $ r" t#        |j                  |j$                        w xY w)a  
        Returns a presigned url to read a page screenshot.

        The presigned url is valid for a limited time period, after which it will expire.
        Be careful on accidental exposure of the presigned url, as it may allow unauthorized access to the file before the expiration.

        Parameters:
            - id: str.

            - page_index: int.

            - project_id: typing.Optional[str].

            - organization_id: typing.Optional[str].
        ---
        from llama_cloud.client import LlamaCloud

        client = LlamaCloud(
            token="YOUR_TOKEN",
        )
        client.page_screenshots.generate_file_page_screenshot_presigned_url(
            id="string",
            page_index=1,
        )
        POSTr!   r"   rC   /presigned_urlr   r$   r%   r)   r*   r+   r,   r   r0   r1   r2   r3   r4   r5   r   r6   r-   r7   r8   r   r;   r	   r
   r   r   r<   rF   s          r   +generate_file_page_screenshot_presigned_urlzAPageScreenshotsClient.generate_file_page_screenshot_presigned_urlt   s>   B ((55==LL  ''4467q9t#5j\P )
Wf)gh((446 > 	
	 )''-#-((y~~7GHH  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN  	Sy'<'<9>>RR	Ss   D7 7+E")__name__
__module____qualname__r   r   strr9   Optionalr:   r   r@   intrE   rG   r   rL    r   r   r   r      s   .*; . >Bko%O%O&,ooc&:%OTZTcTcdgTh%O	+	,%OX ,004/O/O /O
 OOC(/O  -/O 
/Ol ,0043O3O 3O
 OOC(3O  -3O 
3Or   r   c                   J   e Zd ZdefdZddddedej                  e   dej                  e   dej                  e	   fd	Z
dddded
edej                  e   dej                  e   dej                  f
dZdddded
edej                  e   dej                  e   def
dZy)AsyncPageScreenshotsClientr   c                    || _         y r   r   r   s     r   r   z#AsyncPageScreenshotsClient.__init__   r   r   Nr   r   r   r   r   c          	        K   | j                   j                  j                  dt        j                  j                  | j                   j                          dd| d      t        ||d      | j                   j                         d       d{   }d	|j                  cxk  rd
k  r<n n9t        j                  t        j                  t           |j                               S |j                  dk(  r1t!        t        j                  t"        |j                                     	 |j                         }t'        |j                  |      7 # t$        $ r" t'        |j                  |j(                        w xY ww)a  
        List metadata for all screenshots of pages from a file.

        Parameters:
            - id: str.

            - project_id: typing.Optional[str].

            - organization_id: typing.Optional[str].
        ---
        from llama_cloud.client import AsyncLlamaCloud

        client = AsyncLlamaCloud(
            token="YOUR_TOKEN",
        )
        await client.page_screenshots.list_file_page_screenshots(
            id="string",
        )
        r    r!   r"   r#   r   r$   r%   Nr)   r*   r+   r,   r/   r=   s         r   r@   z5AsyncPageScreenshotsClient.list_file_page_screenshots   sK    , ..;;CCLL  D$8$8$E$E$G#H!Jm\^[__pLqr(
Wf)gh((446 D 
 
	 )''-#-((5K)LinnN^__  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN
  	Sy'<'<9>>RR	Ss+   BE?EBE?(E 8E?+E<<E?rA   c          
        K   | j                   j                  j                  dt        j                  j                  | j                   j                          dd| d|       t        ||d      | j                   j                         d       d{   }d	|j                  cxk  rd
k  r5n n2t        j                  t        j                  |j                               S |j                  dk(  r1t        t        j                  t         |j                                     	 |j                         }t%        |j                  |      7 # t"        $ r" t%        |j                  |j&                        w xY ww)a  
        Get screenshot of a page from a file.

        Parameters:
            - id: str.

            - page_index: int.

            - project_id: typing.Optional[str].

            - organization_id: typing.Optional[str].
        ---
        from llama_cloud.client import AsyncLlamaCloud

        client = AsyncLlamaCloud(
            token="YOUR_TOKEN",
        )
        await client.page_screenshots.get_file_page_screenshot(
            id="string",
            page_index=1,
        )
        r    r!   r"   rC   r   r$   r%   Nr)   r*   r+   r,   rD   rF   s          r   rG   z3AsyncPageScreenshotsClient.get_file_page_screenshot   sN    < ..;;CCLL  ''4467q9]2$N`ak`l;m )
Wf)gh((446 D 
 
	 )''-#-((Y^^5EFF  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN#
  	Sy'<'<9>>RR	Ss+   BE:E
BE:#E 3E:+E77E:c                  K   | j                   j                  j                  dt        j                  j                  | j                   j                          dd| d| d      t        ||d      | j                   j                         d       d	{   }d
|j                  cxk  rdk  r+n n(t        j                  t        |j                               S |j                  dk(  r1t        t        j                  t        |j                                     	 |j                         }t#        |j                  |      7 # t         $ r" t#        |j                  |j$                        w xY ww)a  
        Returns a presigned url to read a page screenshot.

        The presigned url is valid for a limited time period, after which it will expire.
        Be careful on accidental exposure of the presigned url, as it may allow unauthorized access to the file before the expiration.

        Parameters:
            - id: str.

            - page_index: int.

            - project_id: typing.Optional[str].

            - organization_id: typing.Optional[str].
        ---
        from llama_cloud.client import AsyncLlamaCloud

        client = AsyncLlamaCloud(
            token="YOUR_TOKEN",
        )
        await client.page_screenshots.generate_file_page_screenshot_presigned_url(
            id="string",
            page_index=1,
        )
        rI   r!   r"   rC   rJ   r   r$   r%   Nr)   r*   r+   r,   rK   rF   s          r   rL   zFAsyncPageScreenshotsClient.generate_file_page_screenshot_presigned_url  sL    B ..;;CCLL  ''4467q9t#5j\P )
Wf)gh((446 D 	
 	
	 )''-#-((y~~7GHH  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN%	
   	Sy'<'<9>>RR	Ss+   BE1EBE1E *E1+E..E1)rM   rN   rO   r   r   rP   r9   rQ   r:   r   r@   rR   rE   rG   r   rL   rS   r   r   rU   rU      s   .*< . >Bko%O%O&,ooc&:%OTZTcTcdgTh%O	+	,%OX ,004/O/O /O
 OOC(/O  -/O 
/Ol ,0043O3O 3O
 OOC(3O  -3O 
3Or   rU   )r9   urllib.parser2   json.decoderr   core.api_errorr   core.client_wrapperr   r   core.remove_none_from_dictr   !errors.unprocessable_entity_errorr	   types.http_validation_errorr
   types.page_screenshot_metadatar   types.presigned_urlr   r7   __version__
startswithImportErrorpydantic.v1v1r   rU   rS   r   r   <module>rh      s|      ( & H ? I > D /&&t,"
OO OOdOO OOm  s   'A8 8	BB