|
18 | 18 | from functools import partial |
19 | 19 | import json |
20 | 20 | import logging |
21 | | -from typing import Any, Optional, Union |
| 21 | +from typing import Optional |
22 | 22 | from urllib.parse import urlencode |
23 | 23 |
|
24 | 24 | from . import _api_module |
25 | 25 | from . import _common |
| 26 | +from . import _converters |
26 | 27 | from . import types |
27 | | -from ._common import get_value_by_path as getv |
28 | | -from ._common import set_value_by_path as setv |
29 | 28 | from .pagers import AsyncPager, Pager |
30 | 29 |
|
31 | 30 | logger = logging.getLogger('google_genai.documents') |
32 | 31 |
|
33 | 32 |
|
34 | | -def _DeleteDocumentConfig_to_mldev( |
35 | | - from_object: Union[dict[str, Any], object], |
36 | | - parent_object: Optional[dict[str, Any]] = None, |
37 | | -) -> dict[str, Any]: |
38 | | - to_object: dict[str, Any] = {} |
39 | | - |
40 | | - if getv(from_object, ['force']) is not None: |
41 | | - setv(parent_object, ['_query', 'force'], getv(from_object, ['force'])) |
42 | | - |
43 | | - return to_object |
44 | | - |
45 | | - |
46 | | -def _DeleteDocumentParameters_to_mldev( |
47 | | - from_object: Union[dict[str, Any], object], |
48 | | - parent_object: Optional[dict[str, Any]] = None, |
49 | | -) -> dict[str, Any]: |
50 | | - to_object: dict[str, Any] = {} |
51 | | - if getv(from_object, ['name']) is not None: |
52 | | - setv(to_object, ['_url', 'name'], getv(from_object, ['name'])) |
53 | | - |
54 | | - if getv(from_object, ['config']) is not None: |
55 | | - _DeleteDocumentConfig_to_mldev(getv(from_object, ['config']), to_object) |
56 | | - |
57 | | - return to_object |
58 | | - |
59 | | - |
60 | | -def _GetDocumentParameters_to_mldev( |
61 | | - from_object: Union[dict[str, Any], object], |
62 | | - parent_object: Optional[dict[str, Any]] = None, |
63 | | -) -> dict[str, Any]: |
64 | | - to_object: dict[str, Any] = {} |
65 | | - if getv(from_object, ['name']) is not None: |
66 | | - setv(to_object, ['_url', 'name'], getv(from_object, ['name'])) |
67 | | - |
68 | | - return to_object |
69 | | - |
70 | | - |
71 | | -def _ListDocumentsConfig_to_mldev( |
72 | | - from_object: Union[dict[str, Any], object], |
73 | | - parent_object: Optional[dict[str, Any]] = None, |
74 | | -) -> dict[str, Any]: |
75 | | - to_object: dict[str, Any] = {} |
76 | | - |
77 | | - if getv(from_object, ['page_size']) is not None: |
78 | | - setv( |
79 | | - parent_object, ['_query', 'pageSize'], getv(from_object, ['page_size']) |
80 | | - ) |
81 | | - |
82 | | - if getv(from_object, ['page_token']) is not None: |
83 | | - setv( |
84 | | - parent_object, |
85 | | - ['_query', 'pageToken'], |
86 | | - getv(from_object, ['page_token']), |
87 | | - ) |
88 | | - |
89 | | - return to_object |
90 | | - |
91 | | - |
92 | | -def _ListDocumentsParameters_to_mldev( |
93 | | - from_object: Union[dict[str, Any], object], |
94 | | - parent_object: Optional[dict[str, Any]] = None, |
95 | | -) -> dict[str, Any]: |
96 | | - to_object: dict[str, Any] = {} |
97 | | - if getv(from_object, ['parent']) is not None: |
98 | | - setv(to_object, ['_url', 'parent'], getv(from_object, ['parent'])) |
99 | | - |
100 | | - if getv(from_object, ['config']) is not None: |
101 | | - _ListDocumentsConfig_to_mldev(getv(from_object, ['config']), to_object) |
102 | | - |
103 | | - return to_object |
104 | | - |
105 | | - |
106 | | -def _ListDocumentsResponse_from_mldev( |
107 | | - from_object: Union[dict[str, Any], object], |
108 | | - parent_object: Optional[dict[str, Any]] = None, |
109 | | -) -> dict[str, Any]: |
110 | | - to_object: dict[str, Any] = {} |
111 | | - if getv(from_object, ['sdkHttpResponse']) is not None: |
112 | | - setv( |
113 | | - to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse']) |
114 | | - ) |
115 | | - |
116 | | - if getv(from_object, ['nextPageToken']) is not None: |
117 | | - setv(to_object, ['next_page_token'], getv(from_object, ['nextPageToken'])) |
118 | | - |
119 | | - if getv(from_object, ['documents']) is not None: |
120 | | - setv( |
121 | | - to_object, |
122 | | - ['documents'], |
123 | | - [item for item in getv(from_object, ['documents'])], |
124 | | - ) |
125 | | - |
126 | | - return to_object |
127 | | - |
128 | | - |
129 | 33 | class Documents(_api_module.BaseModule): |
130 | 34 |
|
131 | 35 | def get( |
@@ -154,7 +58,9 @@ def get( |
154 | 58 | ' Gemini Enterprise Agent Platform mode.' |
155 | 59 | ) |
156 | 60 | else: |
157 | | - request_dict = _GetDocumentParameters_to_mldev(parameter_model) |
| 61 | + request_dict = _converters._GetDocumentParameters_to_mldev( |
| 62 | + parameter_model |
| 63 | + ) |
158 | 64 | request_url_dict = request_dict.get('_url') |
159 | 65 | if request_url_dict: |
160 | 66 | path = '{name}'.format_map(request_url_dict) |
@@ -232,7 +138,9 @@ def delete( |
232 | 138 | ' Gemini Enterprise Agent Platform mode.' |
233 | 139 | ) |
234 | 140 | else: |
235 | | - request_dict = _DeleteDocumentParameters_to_mldev(parameter_model) |
| 141 | + request_dict = _converters._DeleteDocumentParameters_to_mldev( |
| 142 | + parameter_model |
| 143 | + ) |
236 | 144 | request_url_dict = request_dict.get('_url') |
237 | 145 | if request_url_dict: |
238 | 146 | path = '{name}'.format_map(request_url_dict) |
@@ -275,7 +183,9 @@ def _list( |
275 | 183 | ' Gemini Enterprise Agent Platform mode.' |
276 | 184 | ) |
277 | 185 | else: |
278 | | - request_dict = _ListDocumentsParameters_to_mldev(parameter_model) |
| 186 | + request_dict = _converters._ListDocumentsParameters_to_mldev( |
| 187 | + parameter_model |
| 188 | + ) |
279 | 189 | request_url_dict = request_dict.get('_url') |
280 | 190 | if request_url_dict: |
281 | 191 | path = '{parent}/documents'.format_map(request_url_dict) |
@@ -303,7 +213,9 @@ def _list( |
303 | 213 | response_dict = {} if not response.body else json.loads(response.body) |
304 | 214 |
|
305 | 215 | if not self._api_client.vertexai: |
306 | | - response_dict = _ListDocumentsResponse_from_mldev(response_dict) |
| 216 | + response_dict = _converters._ListDocumentsResponse_from_mldev( |
| 217 | + response_dict |
| 218 | + ) |
307 | 219 |
|
308 | 220 | return_value = types.ListDocumentsResponse._from_response( |
309 | 221 | response=response_dict, |
@@ -385,7 +297,9 @@ async def get( |
385 | 297 | ' Gemini Enterprise Agent Platform mode.' |
386 | 298 | ) |
387 | 299 | else: |
388 | | - request_dict = _GetDocumentParameters_to_mldev(parameter_model) |
| 300 | + request_dict = _converters._GetDocumentParameters_to_mldev( |
| 301 | + parameter_model |
| 302 | + ) |
389 | 303 | request_url_dict = request_dict.get('_url') |
390 | 304 | if request_url_dict: |
391 | 305 | path = '{name}'.format_map(request_url_dict) |
@@ -465,7 +379,9 @@ async def delete( |
465 | 379 | ' Gemini Enterprise Agent Platform mode.' |
466 | 380 | ) |
467 | 381 | else: |
468 | | - request_dict = _DeleteDocumentParameters_to_mldev(parameter_model) |
| 382 | + request_dict = _converters._DeleteDocumentParameters_to_mldev( |
| 383 | + parameter_model |
| 384 | + ) |
469 | 385 | request_url_dict = request_dict.get('_url') |
470 | 386 | if request_url_dict: |
471 | 387 | path = '{name}'.format_map(request_url_dict) |
@@ -510,7 +426,9 @@ async def _list( |
510 | 426 | ' Gemini Enterprise Agent Platform mode.' |
511 | 427 | ) |
512 | 428 | else: |
513 | | - request_dict = _ListDocumentsParameters_to_mldev(parameter_model) |
| 429 | + request_dict = _converters._ListDocumentsParameters_to_mldev( |
| 430 | + parameter_model |
| 431 | + ) |
514 | 432 | request_url_dict = request_dict.get('_url') |
515 | 433 | if request_url_dict: |
516 | 434 | path = '{parent}/documents'.format_map(request_url_dict) |
@@ -540,7 +458,9 @@ async def _list( |
540 | 458 | response_dict = {} if not response.body else json.loads(response.body) |
541 | 459 |
|
542 | 460 | if not self._api_client.vertexai: |
543 | | - response_dict = _ListDocumentsResponse_from_mldev(response_dict) |
| 461 | + response_dict = _converters._ListDocumentsResponse_from_mldev( |
| 462 | + response_dict |
| 463 | + ) |
544 | 464 |
|
545 | 465 | return_value = types.ListDocumentsResponse._from_response( |
546 | 466 | response=response_dict, |
|
0 commit comments