structure saas with tools
This commit is contained in:
651
.venv/lib/python3.10/site-packages/google/genai/operations.py
Normal file
651
.venv/lib/python3.10/site-packages/google/genai/operations.py
Normal file
@@ -0,0 +1,651 @@
|
||||
# Copyright 2025 Google LLC
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
|
||||
# Code generated by the Google Gen AI SDK generator DO NOT EDIT.
|
||||
|
||||
import logging
|
||||
from typing import Any, Optional, Union
|
||||
from urllib.parse import urlencode
|
||||
from . import _api_module
|
||||
from . import _common
|
||||
from . import _transformers as t
|
||||
from . import types
|
||||
from ._api_client import BaseApiClient
|
||||
from ._common import get_value_by_path as getv
|
||||
from ._common import set_value_by_path as setv
|
||||
|
||||
logger = logging.getLogger('google_genai.operations')
|
||||
|
||||
|
||||
def _GetOperationParameters_to_mldev(
|
||||
api_client: BaseApiClient,
|
||||
from_object: Union[dict[str, Any], object],
|
||||
parent_object: Optional[dict[str, Any]] = None,
|
||||
) -> dict[str, Any]:
|
||||
to_object: dict[str, Any] = {}
|
||||
if getv(from_object, ['operation_name']) is not None:
|
||||
setv(
|
||||
to_object,
|
||||
['_url', 'operationName'],
|
||||
getv(from_object, ['operation_name']),
|
||||
)
|
||||
|
||||
if getv(from_object, ['config']) is not None:
|
||||
setv(to_object, ['config'], getv(from_object, ['config']))
|
||||
|
||||
return to_object
|
||||
|
||||
|
||||
def _GetOperationParameters_to_vertex(
|
||||
api_client: BaseApiClient,
|
||||
from_object: Union[dict[str, Any], object],
|
||||
parent_object: Optional[dict[str, Any]] = None,
|
||||
) -> dict[str, Any]:
|
||||
to_object: dict[str, Any] = {}
|
||||
if getv(from_object, ['operation_name']) is not None:
|
||||
setv(
|
||||
to_object,
|
||||
['_url', 'operationName'],
|
||||
getv(from_object, ['operation_name']),
|
||||
)
|
||||
|
||||
if getv(from_object, ['config']) is not None:
|
||||
setv(to_object, ['config'], getv(from_object, ['config']))
|
||||
|
||||
return to_object
|
||||
|
||||
|
||||
def _FetchPredictOperationParameters_to_vertex(
|
||||
api_client: BaseApiClient,
|
||||
from_object: Union[dict[str, Any], object],
|
||||
parent_object: Optional[dict[str, Any]] = None,
|
||||
) -> dict[str, Any]:
|
||||
to_object: dict[str, Any] = {}
|
||||
if getv(from_object, ['operation_name']) is not None:
|
||||
setv(to_object, ['operationName'], getv(from_object, ['operation_name']))
|
||||
|
||||
if getv(from_object, ['resource_name']) is not None:
|
||||
setv(
|
||||
to_object,
|
||||
['_url', 'resourceName'],
|
||||
getv(from_object, ['resource_name']),
|
||||
)
|
||||
|
||||
if getv(from_object, ['config']) is not None:
|
||||
setv(to_object, ['config'], getv(from_object, ['config']))
|
||||
|
||||
return to_object
|
||||
|
||||
|
||||
def _Video_from_mldev(
|
||||
api_client: BaseApiClient,
|
||||
from_object: Union[dict[str, Any], object],
|
||||
parent_object: Optional[dict[str, Any]] = None,
|
||||
) -> dict[str, Any]:
|
||||
to_object: dict[str, Any] = {}
|
||||
if getv(from_object, ['video', 'uri']) is not None:
|
||||
setv(to_object, ['uri'], getv(from_object, ['video', 'uri']))
|
||||
|
||||
if getv(from_object, ['video', 'encodedVideo']) is not None:
|
||||
setv(
|
||||
to_object,
|
||||
['video_bytes'],
|
||||
t.t_bytes(api_client, getv(from_object, ['video', 'encodedVideo'])),
|
||||
)
|
||||
|
||||
if getv(from_object, ['encoding']) is not None:
|
||||
setv(to_object, ['mime_type'], getv(from_object, ['encoding']))
|
||||
|
||||
return to_object
|
||||
|
||||
|
||||
def _GeneratedVideo_from_mldev(
|
||||
api_client: BaseApiClient,
|
||||
from_object: Union[dict[str, Any], object],
|
||||
parent_object: Optional[dict[str, Any]] = None,
|
||||
) -> dict[str, Any]:
|
||||
to_object: dict[str, Any] = {}
|
||||
if getv(from_object, ['_self']) is not None:
|
||||
setv(
|
||||
to_object,
|
||||
['video'],
|
||||
_Video_from_mldev(api_client, getv(from_object, ['_self']), to_object),
|
||||
)
|
||||
|
||||
return to_object
|
||||
|
||||
|
||||
def _GenerateVideosResponse_from_mldev(
|
||||
api_client: BaseApiClient,
|
||||
from_object: Union[dict[str, Any], object],
|
||||
parent_object: Optional[dict[str, Any]] = None,
|
||||
) -> dict[str, Any]:
|
||||
to_object: dict[str, Any] = {}
|
||||
if getv(from_object, ['generatedSamples']) is not None:
|
||||
setv(
|
||||
to_object,
|
||||
['generated_videos'],
|
||||
[
|
||||
_GeneratedVideo_from_mldev(api_client, item, to_object)
|
||||
for item in getv(from_object, ['generatedSamples'])
|
||||
],
|
||||
)
|
||||
|
||||
if getv(from_object, ['raiMediaFilteredCount']) is not None:
|
||||
setv(
|
||||
to_object,
|
||||
['rai_media_filtered_count'],
|
||||
getv(from_object, ['raiMediaFilteredCount']),
|
||||
)
|
||||
|
||||
if getv(from_object, ['raiMediaFilteredReasons']) is not None:
|
||||
setv(
|
||||
to_object,
|
||||
['rai_media_filtered_reasons'],
|
||||
getv(from_object, ['raiMediaFilteredReasons']),
|
||||
)
|
||||
|
||||
return to_object
|
||||
|
||||
|
||||
def _GenerateVideosOperation_from_mldev(
|
||||
api_client: BaseApiClient,
|
||||
from_object: Union[dict[str, Any], object],
|
||||
parent_object: Optional[dict[str, Any]] = None,
|
||||
) -> dict[str, Any]:
|
||||
to_object: dict[str, Any] = {}
|
||||
if getv(from_object, ['name']) is not None:
|
||||
setv(to_object, ['name'], getv(from_object, ['name']))
|
||||
|
||||
if getv(from_object, ['metadata']) is not None:
|
||||
setv(to_object, ['metadata'], getv(from_object, ['metadata']))
|
||||
|
||||
if getv(from_object, ['done']) is not None:
|
||||
setv(to_object, ['done'], getv(from_object, ['done']))
|
||||
|
||||
if getv(from_object, ['error']) is not None:
|
||||
setv(to_object, ['error'], getv(from_object, ['error']))
|
||||
|
||||
if getv(from_object, ['response', 'generateVideoResponse']) is not None:
|
||||
setv(
|
||||
to_object,
|
||||
['response'],
|
||||
_GenerateVideosResponse_from_mldev(
|
||||
api_client,
|
||||
getv(from_object, ['response', 'generateVideoResponse']),
|
||||
to_object,
|
||||
),
|
||||
)
|
||||
|
||||
if getv(from_object, ['response', 'generateVideoResponse']) is not None:
|
||||
setv(
|
||||
to_object,
|
||||
['result'],
|
||||
_GenerateVideosResponse_from_mldev(
|
||||
api_client,
|
||||
getv(from_object, ['response', 'generateVideoResponse']),
|
||||
to_object,
|
||||
),
|
||||
)
|
||||
|
||||
return to_object
|
||||
|
||||
|
||||
def _Video_from_vertex(
|
||||
api_client: BaseApiClient,
|
||||
from_object: Union[dict[str, Any], object],
|
||||
parent_object: Optional[dict[str, Any]] = None,
|
||||
) -> dict[str, Any]:
|
||||
to_object: dict[str, Any] = {}
|
||||
if getv(from_object, ['gcsUri']) is not None:
|
||||
setv(to_object, ['uri'], getv(from_object, ['gcsUri']))
|
||||
|
||||
if getv(from_object, ['bytesBase64Encoded']) is not None:
|
||||
setv(
|
||||
to_object,
|
||||
['video_bytes'],
|
||||
t.t_bytes(api_client, getv(from_object, ['bytesBase64Encoded'])),
|
||||
)
|
||||
|
||||
if getv(from_object, ['mimeType']) is not None:
|
||||
setv(to_object, ['mime_type'], getv(from_object, ['mimeType']))
|
||||
|
||||
return to_object
|
||||
|
||||
|
||||
def _GeneratedVideo_from_vertex(
|
||||
api_client: BaseApiClient,
|
||||
from_object: Union[dict[str, Any], object],
|
||||
parent_object: Optional[dict[str, Any]] = None,
|
||||
) -> dict[str, Any]:
|
||||
to_object: dict[str, Any] = {}
|
||||
if getv(from_object, ['_self']) is not None:
|
||||
setv(
|
||||
to_object,
|
||||
['video'],
|
||||
_Video_from_vertex(api_client, getv(from_object, ['_self']), to_object),
|
||||
)
|
||||
|
||||
return to_object
|
||||
|
||||
|
||||
def _GenerateVideosResponse_from_vertex(
|
||||
api_client: BaseApiClient,
|
||||
from_object: Union[dict[str, Any], object],
|
||||
parent_object: Optional[dict[str, Any]] = None,
|
||||
) -> dict[str, Any]:
|
||||
to_object: dict[str, Any] = {}
|
||||
if getv(from_object, ['videos']) is not None:
|
||||
setv(
|
||||
to_object,
|
||||
['generated_videos'],
|
||||
[
|
||||
_GeneratedVideo_from_vertex(api_client, item, to_object)
|
||||
for item in getv(from_object, ['videos'])
|
||||
],
|
||||
)
|
||||
|
||||
if getv(from_object, ['raiMediaFilteredCount']) is not None:
|
||||
setv(
|
||||
to_object,
|
||||
['rai_media_filtered_count'],
|
||||
getv(from_object, ['raiMediaFilteredCount']),
|
||||
)
|
||||
|
||||
if getv(from_object, ['raiMediaFilteredReasons']) is not None:
|
||||
setv(
|
||||
to_object,
|
||||
['rai_media_filtered_reasons'],
|
||||
getv(from_object, ['raiMediaFilteredReasons']),
|
||||
)
|
||||
|
||||
return to_object
|
||||
|
||||
|
||||
def _GenerateVideosOperation_from_vertex(
|
||||
api_client: BaseApiClient,
|
||||
from_object: Union[dict[str, Any], object],
|
||||
parent_object: Optional[dict[str, Any]] = None,
|
||||
) -> dict[str, Any]:
|
||||
to_object: dict[str, Any] = {}
|
||||
if getv(from_object, ['name']) is not None:
|
||||
setv(to_object, ['name'], getv(from_object, ['name']))
|
||||
|
||||
if getv(from_object, ['metadata']) is not None:
|
||||
setv(to_object, ['metadata'], getv(from_object, ['metadata']))
|
||||
|
||||
if getv(from_object, ['done']) is not None:
|
||||
setv(to_object, ['done'], getv(from_object, ['done']))
|
||||
|
||||
if getv(from_object, ['error']) is not None:
|
||||
setv(to_object, ['error'], getv(from_object, ['error']))
|
||||
|
||||
if getv(from_object, ['response']) is not None:
|
||||
setv(
|
||||
to_object,
|
||||
['response'],
|
||||
_GenerateVideosResponse_from_vertex(
|
||||
api_client, getv(from_object, ['response']), to_object
|
||||
),
|
||||
)
|
||||
|
||||
if getv(from_object, ['response']) is not None:
|
||||
setv(
|
||||
to_object,
|
||||
['result'],
|
||||
_GenerateVideosResponse_from_vertex(
|
||||
api_client, getv(from_object, ['response']), to_object
|
||||
),
|
||||
)
|
||||
|
||||
return to_object
|
||||
|
||||
|
||||
class Operations(_api_module.BaseModule):
|
||||
|
||||
def _get_videos_operation(
|
||||
self,
|
||||
*,
|
||||
operation_name: str,
|
||||
config: Optional[types.GetOperationConfigOrDict] = None,
|
||||
) -> types.GenerateVideosOperation:
|
||||
parameter_model = types._GetOperationParameters(
|
||||
operation_name=operation_name,
|
||||
config=config,
|
||||
)
|
||||
|
||||
request_url_dict: Optional[dict[str, str]]
|
||||
|
||||
if self._api_client.vertexai:
|
||||
request_dict = _GetOperationParameters_to_vertex(
|
||||
self._api_client, parameter_model
|
||||
)
|
||||
request_url_dict = request_dict.get('_url')
|
||||
if request_url_dict:
|
||||
path = '{operationName}'.format_map(request_url_dict)
|
||||
else:
|
||||
path = '{operationName}'
|
||||
else:
|
||||
request_dict = _GetOperationParameters_to_mldev(
|
||||
self._api_client, parameter_model
|
||||
)
|
||||
request_url_dict = request_dict.get('_url')
|
||||
if request_url_dict:
|
||||
path = '{operationName}'.format_map(request_url_dict)
|
||||
else:
|
||||
path = '{operationName}'
|
||||
query_params = request_dict.get('_query')
|
||||
if query_params:
|
||||
path = f'{path}?{urlencode(query_params)}'
|
||||
# TODO: remove the hack that pops config.
|
||||
request_dict.pop('config', None)
|
||||
|
||||
http_options: Optional[types.HttpOptions] = None
|
||||
if (
|
||||
parameter_model.config is not None
|
||||
and parameter_model.config.http_options is not None
|
||||
):
|
||||
http_options = parameter_model.config.http_options
|
||||
|
||||
request_dict = _common.convert_to_dict(request_dict)
|
||||
request_dict = _common.encode_unserializable_types(request_dict)
|
||||
|
||||
response_dict = self._api_client.request(
|
||||
'get', path, request_dict, http_options
|
||||
)
|
||||
|
||||
if self._api_client.vertexai:
|
||||
response_dict = _GenerateVideosOperation_from_vertex(
|
||||
self._api_client, response_dict
|
||||
)
|
||||
|
||||
else:
|
||||
response_dict = _GenerateVideosOperation_from_mldev(
|
||||
self._api_client, response_dict
|
||||
)
|
||||
|
||||
return_value = types.GenerateVideosOperation._from_response(
|
||||
response=response_dict, kwargs=parameter_model.model_dump()
|
||||
)
|
||||
self._api_client._verify_response(return_value)
|
||||
return return_value
|
||||
|
||||
def _fetch_predict_videos_operation(
|
||||
self,
|
||||
*,
|
||||
operation_name: str,
|
||||
resource_name: str,
|
||||
config: Optional[types.FetchPredictOperationConfigOrDict] = None,
|
||||
) -> types.GenerateVideosOperation:
|
||||
parameter_model = types._FetchPredictOperationParameters(
|
||||
operation_name=operation_name,
|
||||
resource_name=resource_name,
|
||||
config=config,
|
||||
)
|
||||
|
||||
request_url_dict: Optional[dict[str, str]]
|
||||
if not self._api_client.vertexai:
|
||||
raise ValueError('This method is only supported in the Vertex AI client.')
|
||||
else:
|
||||
request_dict = _FetchPredictOperationParameters_to_vertex(
|
||||
self._api_client, parameter_model
|
||||
)
|
||||
request_url_dict = request_dict.get('_url')
|
||||
if request_url_dict:
|
||||
path = '{resourceName}:fetchPredictOperation'.format_map(
|
||||
request_url_dict
|
||||
)
|
||||
else:
|
||||
path = '{resourceName}:fetchPredictOperation'
|
||||
|
||||
query_params = request_dict.get('_query')
|
||||
if query_params:
|
||||
path = f'{path}?{urlencode(query_params)}'
|
||||
# TODO: remove the hack that pops config.
|
||||
request_dict.pop('config', None)
|
||||
|
||||
http_options: Optional[types.HttpOptions] = None
|
||||
if (
|
||||
parameter_model.config is not None
|
||||
and parameter_model.config.http_options is not None
|
||||
):
|
||||
http_options = parameter_model.config.http_options
|
||||
|
||||
request_dict = _common.convert_to_dict(request_dict)
|
||||
request_dict = _common.encode_unserializable_types(request_dict)
|
||||
|
||||
response_dict = self._api_client.request(
|
||||
'post', path, request_dict, http_options
|
||||
)
|
||||
|
||||
if self._api_client.vertexai:
|
||||
response_dict = _GenerateVideosOperation_from_vertex(
|
||||
self._api_client, response_dict
|
||||
)
|
||||
|
||||
return_value = types.GenerateVideosOperation._from_response(
|
||||
response=response_dict, kwargs=parameter_model.model_dump()
|
||||
)
|
||||
self._api_client._verify_response(return_value)
|
||||
return return_value
|
||||
|
||||
def get(
|
||||
self,
|
||||
operation: types.GenerateVideosOperation,
|
||||
*,
|
||||
config: Optional[types.GetOperationConfigOrDict] = None,
|
||||
) -> types.GenerateVideosOperation:
|
||||
"""Gets the status of an operation."""
|
||||
# Currently, only GenerateVideosOperation is supported.
|
||||
# TODO(b/398040607): Support short form names
|
||||
operation_name = operation.name
|
||||
if not operation_name:
|
||||
raise ValueError('Operation name is empty.')
|
||||
|
||||
# TODO(b/398233524): Cast operation types
|
||||
if self._api_client.vertexai:
|
||||
resource_name = operation_name.rpartition('/operations/')[0]
|
||||
http_options = types.HttpOptions()
|
||||
if isinstance(config, dict):
|
||||
dict_options = config.get('http_options', None)
|
||||
if dict_options is not None:
|
||||
http_options = types.HttpOptions(**dict(dict_options))
|
||||
elif isinstance(config, types.GetOperationConfig) and config is not None:
|
||||
http_options = (
|
||||
config.http_options
|
||||
if config.http_options is not None
|
||||
else types.HttpOptions()
|
||||
)
|
||||
fetch_operation_config = types.FetchPredictOperationConfig(
|
||||
http_options=http_options
|
||||
)
|
||||
return self._fetch_predict_videos_operation(
|
||||
operation_name=operation_name,
|
||||
resource_name=resource_name,
|
||||
config=fetch_operation_config,
|
||||
)
|
||||
else:
|
||||
return self._get_videos_operation(
|
||||
operation_name=operation_name,
|
||||
config=config,
|
||||
)
|
||||
|
||||
|
||||
class AsyncOperations(_api_module.BaseModule):
|
||||
|
||||
async def _get_videos_operation(
|
||||
self,
|
||||
*,
|
||||
operation_name: str,
|
||||
config: Optional[types.GetOperationConfigOrDict] = None,
|
||||
) -> types.GenerateVideosOperation:
|
||||
parameter_model = types._GetOperationParameters(
|
||||
operation_name=operation_name,
|
||||
config=config,
|
||||
)
|
||||
|
||||
request_url_dict: Optional[dict[str, str]]
|
||||
|
||||
if self._api_client.vertexai:
|
||||
request_dict = _GetOperationParameters_to_vertex(
|
||||
self._api_client, parameter_model
|
||||
)
|
||||
request_url_dict = request_dict.get('_url')
|
||||
if request_url_dict:
|
||||
path = '{operationName}'.format_map(request_url_dict)
|
||||
else:
|
||||
path = '{operationName}'
|
||||
else:
|
||||
request_dict = _GetOperationParameters_to_mldev(
|
||||
self._api_client, parameter_model
|
||||
)
|
||||
request_url_dict = request_dict.get('_url')
|
||||
if request_url_dict:
|
||||
path = '{operationName}'.format_map(request_url_dict)
|
||||
else:
|
||||
path = '{operationName}'
|
||||
query_params = request_dict.get('_query')
|
||||
if query_params:
|
||||
path = f'{path}?{urlencode(query_params)}'
|
||||
# TODO: remove the hack that pops config.
|
||||
request_dict.pop('config', None)
|
||||
|
||||
http_options: Optional[types.HttpOptions] = None
|
||||
if (
|
||||
parameter_model.config is not None
|
||||
and parameter_model.config.http_options is not None
|
||||
):
|
||||
http_options = parameter_model.config.http_options
|
||||
|
||||
request_dict = _common.convert_to_dict(request_dict)
|
||||
request_dict = _common.encode_unserializable_types(request_dict)
|
||||
|
||||
response_dict = await self._api_client.async_request(
|
||||
'get', path, request_dict, http_options
|
||||
)
|
||||
|
||||
if self._api_client.vertexai:
|
||||
response_dict = _GenerateVideosOperation_from_vertex(
|
||||
self._api_client, response_dict
|
||||
)
|
||||
|
||||
else:
|
||||
response_dict = _GenerateVideosOperation_from_mldev(
|
||||
self._api_client, response_dict
|
||||
)
|
||||
|
||||
return_value = types.GenerateVideosOperation._from_response(
|
||||
response=response_dict, kwargs=parameter_model.model_dump()
|
||||
)
|
||||
self._api_client._verify_response(return_value)
|
||||
return return_value
|
||||
|
||||
async def _fetch_predict_videos_operation(
|
||||
self,
|
||||
*,
|
||||
operation_name: str,
|
||||
resource_name: str,
|
||||
config: Optional[types.FetchPredictOperationConfigOrDict] = None,
|
||||
) -> types.GenerateVideosOperation:
|
||||
parameter_model = types._FetchPredictOperationParameters(
|
||||
operation_name=operation_name,
|
||||
resource_name=resource_name,
|
||||
config=config,
|
||||
)
|
||||
|
||||
request_url_dict: Optional[dict[str, str]]
|
||||
if not self._api_client.vertexai:
|
||||
raise ValueError('This method is only supported in the Vertex AI client.')
|
||||
else:
|
||||
request_dict = _FetchPredictOperationParameters_to_vertex(
|
||||
self._api_client, parameter_model
|
||||
)
|
||||
request_url_dict = request_dict.get('_url')
|
||||
if request_url_dict:
|
||||
path = '{resourceName}:fetchPredictOperation'.format_map(
|
||||
request_url_dict
|
||||
)
|
||||
else:
|
||||
path = '{resourceName}:fetchPredictOperation'
|
||||
|
||||
query_params = request_dict.get('_query')
|
||||
if query_params:
|
||||
path = f'{path}?{urlencode(query_params)}'
|
||||
# TODO: remove the hack that pops config.
|
||||
request_dict.pop('config', None)
|
||||
|
||||
http_options: Optional[types.HttpOptions] = None
|
||||
if (
|
||||
parameter_model.config is not None
|
||||
and parameter_model.config.http_options is not None
|
||||
):
|
||||
http_options = parameter_model.config.http_options
|
||||
|
||||
request_dict = _common.convert_to_dict(request_dict)
|
||||
request_dict = _common.encode_unserializable_types(request_dict)
|
||||
|
||||
response_dict = await self._api_client.async_request(
|
||||
'post', path, request_dict, http_options
|
||||
)
|
||||
|
||||
if self._api_client.vertexai:
|
||||
response_dict = _GenerateVideosOperation_from_vertex(
|
||||
self._api_client, response_dict
|
||||
)
|
||||
|
||||
return_value = types.GenerateVideosOperation._from_response(
|
||||
response=response_dict, kwargs=parameter_model.model_dump()
|
||||
)
|
||||
self._api_client._verify_response(return_value)
|
||||
return return_value
|
||||
|
||||
async def get(
|
||||
self,
|
||||
operation: types.GenerateVideosOperation,
|
||||
*,
|
||||
config: Optional[types.GetOperationConfigOrDict] = None,
|
||||
) -> types.GenerateVideosOperation:
|
||||
"""Gets the status of an operation."""
|
||||
# Currently, only GenerateVideosOperation is supported.
|
||||
operation_name = operation.name
|
||||
if not operation_name:
|
||||
raise ValueError('Operation name is empty.')
|
||||
|
||||
if self._api_client.vertexai:
|
||||
resource_name = operation_name.rpartition('/operations/')[0]
|
||||
http_options = types.HttpOptions()
|
||||
if isinstance(config, dict):
|
||||
dict_options = config.get('http_options', None)
|
||||
if dict_options is not None:
|
||||
http_options = types.HttpOptions(**dict(dict_options))
|
||||
elif isinstance(config, types.GetOperationConfig) and config is not None:
|
||||
http_options = (
|
||||
config.http_options
|
||||
if config.http_options is not None
|
||||
else types.HttpOptions()
|
||||
)
|
||||
fetch_operation_config = types.FetchPredictOperationConfig(
|
||||
http_options=http_options
|
||||
)
|
||||
return await self._fetch_predict_videos_operation(
|
||||
operation_name=operation_name,
|
||||
resource_name=resource_name,
|
||||
config=fetch_operation_config,
|
||||
)
|
||||
else:
|
||||
return await self._get_videos_operation(
|
||||
operation_name=operation_name,
|
||||
config=config,
|
||||
)
|
||||
Reference in New Issue
Block a user