
    OjwH              	          S SK Jr  S SKrS SKrS SKJrJrJr  S SKJ	r	  SSK
Jr  SSK
Jr  SSK
Jr  SS	KJr  SS
KJr  SSKJrJr  \R*                  " S5      r SS\\\\4   \4   S\\\\4      S\\\4   4S jjr SS\\\\4   \4   S\\\\4      S\\\4   4S jjr SS\\\\4   \4   S\\\\4      S\\\4   4S jjr SS\\\\4   \4   S\\\\4      S\\\4   4S jjr SS\\\\4   \4   S\\\\4      S\\\4   4S jjr SS\\\\4   \4   S\\\\4      S\\\4   4S jjr " S S\R@                  5      r! " S S\R@                  5      r"g)    )partialN)AnyOptionalUnion)	urlencode   )_api_module)_common)types)get_value_by_path)set_value_by_path)
AsyncPagerPagerzgoogle_genai.documentsfrom_objectparent_objectreturnc                 Z    0 n[        U S/5      b  [        USS/[        U S/5      5        U$ )Nforce_querygetvsetvr   r   	to_objects      X/var/www/html/leaf-doctor-v1/venv/lib/python3.13/site-packages/google/genai/documents.py_DeleteDocumentConfig_to_mldevr   "   s8     !)	+y!-7+T+y-IJ	    c                     0 n[        U S/5      b  [        USS/[        U S/5      5        [        U S/5      b  [        [        U S/5      U5        U$ )Nname_urlconfig)r   r   r   r   s      r   "_DeleteDocumentParameters_to_mldevr"   .   sZ     !)	+x ,VV$d;&AB	+z"."4hZ#@)L	r   c                 Z    0 n[        U S/5      b  [        USS/[        U S/5      5        U$ )Nr   r    r   r   s      r   _GetDocumentParameters_to_mldevr$   <   s8     !)	+x ,VV$d;&AB	r   c                     0 n[        U S/5      b  [        USS/[        U S/5      5        [        U S/5      b  [        USS/[        U S/5      5        U$ )N	page_sizer   pageSize
page_token	pageTokenr   r   s      r   _ListDocumentsConfig_to_mldevr*   G   sm     !)	+}%1*-tK+/O 
+~&2	;[<.) 
r   c                     0 n[        U S/5      b  [        USS/[        U S/5      5        [        U S/5      b  [        [        U S/5      U5        U$ )Nparentr    r!   )r   r   r*   r   s      r   !_ListDocumentsParameters_to_mldevr-   \   sZ     !)	+z".VX&[8*(EF	+z".!${XJ"?K	r   c                    0 n[        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b)  [        US/[        U S/5       Vs/ s H  o3PM     sn5        U$ s  snf )NsdkHttpResponsesdk_http_responsenextPageTokennext_page_token	documentsr   )r   r   r   items       r   !_ListDocumentsResponse_from_mldevr5   j   s     !)	+)*+7'(${=N<O*P 
+()5&'kO;L)MN	+}%1	{[M:;:$:; 
 	<s   6B
c                   6   \ rS rSrSS.S\S\\R                     S\R                  4S jjr	SS.S\S\\R                     SS4S jjrSS.S	\S\\R                     S\R                  4S
 jjrSS.S	\S\\R                     S\\R                     4S jjrSrg)	Documents   Nr!   r   r!   r   c                   [         R                  " UUS9nU R                  R                  (       a  [	        S5      e[        U5      nUR                  S5      nU(       a  SR                  U5      nOSnUR                  S5      nU(       a  U S[        U5       3nUR                  SS5        SnUR                  b-  UR                  R                  b  UR                  R                  n[        R                  " U5      n[        R                  " U5      nU R                  R                  S	XdU5      n	U	R                   (       d  0 O["        R$                  " U	R                   5      n
[         R&                  R)                  U
[+        USS5      (       aG  S[+        UR                  S
S5      [+        UR                  SS5      [+        UR                  SS5      S.0O0 S9nU R                  R-                  U5        U$ zGets metadata about a Document.

Args:
  name (str): The resource name of the Document.
    Example: ragStores/rag-store-foo/documents/documents-bar
  config (GetDocumentConfig | None): Optional parameters for the request.

Returns:
  The Document.
r   r!   iThis method is only supported in Gemini Developer API mode, not in Gemini Enterprise Agent Platform mode.r    {name}r   ?r!   Ngetresponse_schemaresponse_json_schemainclude_all_fieldsrA   rB   rC   responsekwargs)r   _GetDocumentParameters_api_clientvertexai
ValueErrorr$   r@   
format_mapr   popr!   http_optionsr
   convert_to_dictencode_unserializable_typesrequestbodyjsonloadsDocument_from_responsegetattr_verify_responseselfr   r!   parameter_modelrequest_dictrequest_url_dictpathquery_paramsrN   rF   response_dictreturn_values               r   r@   Documents.get   s    22O   4 
 5_El%))&1	""#34##H-LvQy./0dXt$04L*""//;$++88l**<8L66|DL''t<PH&mmBHMM1JM>>00 ?Hd33 #*#**,=t$ )0#**,BD) '.#**,@$'

 ! 1 L& 	%%l3r   c                f   [         R                  " UUS9nU R                  R                  (       a  [	        S5      e[        U5      nUR                  S5      nU(       a  SR                  U5      nOSnUR                  S5      nU(       a  U S[        U5       3nUR                  SS5        SnUR                  b-  UR                  R                  b  UR                  R                  n[        R                  " U5      n[        R                  " U5      nU R                  R                  S	XdU5        g
zDeletes a Document.

Args:
  name (str): The resource name of the Document.
    Example: ragStores/rag-store-foo/documents/documents-bar
  config (DeleteDocumentConfig | None): Optional parameters for the request.

Returns:
  None
r<   r=   r    r>   r   r?   r!   Ndelete)r   _DeleteDocumentParametersrI   rJ   rK   r"   r@   rL   r   rM   r!   rN   r
   rO   rP   rQ   	rZ   r   r!   r[   r\   r]   r^   r_   rN   s	            r   re   Documents.delete   s   " 55O   4 
 8Hl%))&1	""#34##H-LvQy./0dXt$04L*""//;$++88l**<8L66|DLXt<Hr   r,   c                >   [         R                  " UUS9nU R                  R                  (       a  [	        S5      e[        U5      nUR                  S5      nU(       a  SR                  U5      nOSnUR                  S5      nU(       a  U S[        U5       3nUR                  SS 5        S nUR                  b-  UR                  R                  b  UR                  R                  n[        R                  " U5      n[        R                  " U5      nU R                  R                  SXdU5      n	U	R                   (       d  0 O["        R$                  " U	R                   5      n
U R                  R                  (       d  ['        U
5      n
[         R(                  R+                  U
[-        USS 5      (       aG  S[-        UR                  S	S 5      [-        UR                  S
S 5      [-        UR                  SS 5      S.0O0 S9nU R                  R/                  U5        U$ Nr,   r!   r=   r    z{parent}/documentsr   r?   r!   r@   rA   rB   rC   rD   rE   )r   _ListDocumentsParametersrI   rJ   rK   r-   r@   rL   r   rM   r!   rN   r
   rO   rP   rQ   rR   rS   rT   r5   ListDocumentsResponserV   rW   rX   rZ   r,   r!   r[   r\   r]   r^   r_   rN   rF   r`   ra   s               r   _listDocuments._list  s    44O   4 
 7Gl%))&1	#../?@###H-LvQy./0dXt$04L*""//;$++88l**<8L66|DL''t<PH&mmBHMM1JM$$7Fm..== ?Hd33 #*#**,=t$ )0#**,BD) '.#**,@$'

 ! > L& 	%%l3r   c          	      `    [        U R                  US9n[        SUU R                  XS9U5      $ )a  Lists documents.

Args:
  parent (str): The name of the RagStore containing the Documents.
  config (ListDocumentsConfig): Optional configuration for the list request.

Returns:
  A Pager object that contains one page of documents. When iterating over
  the pager, it automatically fetches the next page if there are more.
Usage:
.. code-block:: python
  for document in client.documents.list(parent='rag_store_name'):
    print(f"document: {document.name} - {document.display_name}")
r,   r3   rk   )r   ro   r   rZ   r,   r!   list_requests       r   listDocuments.listJ  s8    * 4::f5L

&
0	 r    )__name__
__module____qualname____firstlineno__strr   r   GetDocumentConfigOrDictrU   r@   DeleteDocumentConfigOrDictre   ListDocumentsConfigOrDictrm   ro   r   ru   __static_attributes__rw   r   r   r7   r7      s     MQII"*5+H+H"II~~I^ <@	4I 4I u778	4I
 4It ;?	D D u667	D
 ""DT ;?	  u667	
 U^^ r   r7   c                   6   \ rS rSrSS.S\S\\R                     S\R                  4S jjr	SS.S\S\\R                     SS4S jjrSS.S	\S\\R                     S\R                  4S
 jjrSS.S	\S\\R                     S\\R                     4S jjrSrg)AsyncDocumentsih  Nr9   r   r!   r   c                  #    [         R                  " UUS9nU R                  R                  (       a  [	        S5      e[        U5      nUR                  S5      nU(       a  SR                  U5      nOSnUR                  S5      nU(       a  U S[        U5       3nUR                  SS5        SnUR                  b-  UR                  R                  b  UR                  R                  n[        R                  " U5      n[        R                  " U5      nU R                  R                  S	XdU5      I Sh  vN n	U	R                   (       d  0 O["        R$                  " U	R                   5      n
[         R&                  R)                  U
[+        USS5      (       aG  S[+        UR                  S
S5      [+        UR                  SS5      [+        UR                  SS5      S.0O0 S9nU R                  R-                  U5        U$  N7fr;   )r   rH   rI   rJ   rK   r$   r@   rL   r   rM   r!   rN   r
   rO   rP   async_requestrR   rS   rT   rU   rV   rW   rX   rY   s               r   r@   AsyncDocuments.getj  s     22O   4 
 5_El%))&1	""#34##H-LvQy./0dXt$04L*""//;$++88l**<8L66|DL%%33t< H 'mmBHMM1JM>>00 ?Hd33 #*#**,=t$ )0#**,BD) '.#**,@$'

 ! 1 L& 	%%l35s   D5H7H8CHc                  #    [         R                  " UUS9nU R                  R                  (       a  [	        S5      e[        U5      nUR                  S5      nU(       a  SR                  U5      nOSnUR                  S5      nU(       a  U S[        U5       3nUR                  SS5        SnUR                  b-  UR                  R                  b  UR                  R                  n[        R                  " U5      n[        R                  " U5      nU R                  R                  S	XdU5      I Sh  vN   g N7frd   )r   rf   rI   rJ   rK   r"   r@   rL   r   rM   r!   rN   r
   rO   rP   r   rg   s	            r   re   AsyncDocuments.delete  s(    " 55O   4 
 8Hl%))&1	""#34##H-LvQy./0dXt$04L*""//;$++88l**<8L66|DL



(
($l  s   D5D?7D=8D?r,   c                Z  #    [         R                  " UUS9nU R                  R                  (       a  [	        S5      e[        U5      nUR                  S5      nU(       a  SR                  U5      nOSnUR                  S5      nU(       a  U S[        U5       3nUR                  SS 5        S nUR                  b-  UR                  R                  b  UR                  R                  n[        R                  " U5      n[        R                  " U5      nU R                  R                  SXdU5      I S h  vN n	U	R                   (       d  0 O["        R$                  " U	R                   5      n
U R                  R                  (       d  ['        U
5      n
[         R(                  R+                  U
[-        USS 5      (       aG  S[-        UR                  S	S 5      [-        UR                  S
S 5      [-        UR                  SS 5      S.0O0 S9nU R                  R/                  U5        U$  N7frj   )r   rl   rI   rJ   rK   r-   r@   rL   r   rM   r!   rN   r
   rO   rP   r   rR   rS   rT   r5   rm   rV   rW   rX   rn   s               r   ro   AsyncDocuments._list  s     44O   4 
 7Gl%))&1	#../?@###H-LvQy./0dXt$04L*""//;$++88l**<8L66|DL%%33t< H 'mmBHMM1JM$$7Fm..== ?Hd33 #*#**,=t$ )0#**,BD) '.#**,@$'

 ! > L& 	%%l3;s   D5H+7H)8C2H+c          	      |   #    [        U R                  US9n[        SUU R                  XS9I Sh  vN U5      $  N	7f)a  Lists documents asynchronously.

Args:
  parent (str): The name of the RagStore containing the Documents.
  config (ListDocumentsConfig): Optional configuration for the list request.

Returns:
  A Pager object that contains one page of documents. When iterating over
  the pager, it automatically fetches the next page if there are more.
Usage:
.. code-block:: python
  async for document in await
  client.aio.documents.list(parent='rag_store_name'):
    print(f"document: {document.name} - {document.display_name}")
rr   r3   rk   N)r   ro   r   rs   s       r   ru   AsyncDocuments.list7  sC     , 4::f5Ljjj66	  	7s   .<:
<rw   )rx   ry   rz   r{   r|   r   r   r}   rU   r@   r~   re   r   rm   ro   r   ru   r   rw   r   r   r   r   h  s     MQKK"*5+H+H"IK~~Kb <@	6 6 u778	6
 6x ;?	F F u667	F
 ""FX ;?	  u667	
 %..! r   r   )N)#	functoolsr   rS   loggingtypingr   r   r   urllib.parser    r	   r
   r   r   r   r   r   pagersr   r   	getLoggerloggerdictr|   objectr   r"   r$   r*   r-   r5   
BaseModuler7   r   rw   r   r   <module>r      s'  $    ' ' "    . . %			3	4
 /3	tCH~v-.	DcN+	 
#s(^	 /3tCH~v-.DcN+ 
#s(^  /3tCH~v-.DcN+ 
#s(^ /3tCH~v-.DcN+ 
#s(^. /3tCH~v-.DcN+ 
#s(^  /3tCH~v-.DcN+ 
#s(^.d&& dNk[++ kr   