Skip to content

Commit 52d0647

Browse files
committed
fix: format code with pyink
1 parent 824c6c4 commit 52d0647

2 files changed

Lines changed: 24 additions & 17 deletions

File tree

src/google/adk/tools/_function_parameter_parse_util.py

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515

1616
from __future__ import annotations
1717

18+
from enum import Enum
1819
import inspect
1920
import logging
2021
import types as typing_types
@@ -27,7 +28,6 @@
2728

2829
from google.genai import types
2930
import pydantic
30-
from enum import Enum
3131

3232
from ..utils.variant_utils import GoogleLLMVariant
3333

@@ -147,15 +147,19 @@ def _parse_schema_from_parameter(
147147
_raise_if_schema_unsupported(variant, schema)
148148
return schema
149149
if isinstance(param.annotation, type) and issubclass(param.annotation, Enum):
150-
schema.type = types.Type.STRING
151-
schema.enum = [e.value for e in param.annotation]
152-
if param.default is not inspect.Parameter.empty:
153-
default_value = param.default.value if isinstance(param.default, Enum) else param.default
154-
if default_value not in schema.enum:
155-
raise ValueError(default_value_error_msg)
156-
schema.default = default_value
157-
_raise_if_schema_unsupported(variant, schema)
158-
return schema
150+
schema.type = types.Type.STRING
151+
schema.enum = [e.value for e in param.annotation]
152+
if param.default is not inspect.Parameter.empty:
153+
default_value = (
154+
param.default.value
155+
if isinstance(param.default, Enum)
156+
else param.default
157+
)
158+
if default_value not in schema.enum:
159+
raise ValueError(default_value_error_msg)
160+
schema.default = default_value
161+
_raise_if_schema_unsupported(variant, schema)
162+
return schema
159163
if (
160164
get_origin(param.annotation) is Union
161165
# only parse simple UnionType, example int | str | float | bool

tests/unittests/tools/test_build_function_declaration.py

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15+
from enum import Enum
1516
from typing import Dict
1617
from typing import List
1718

@@ -22,9 +23,9 @@
2223
# TODO: crewai requires python 3.10 as minimum
2324
# from crewai_tools import FileReadTool
2425
from pydantic import BaseModel
25-
from enum import Enum
2626
import pytest
2727

28+
2829
def test_string_input():
2930
def simple_function(input_str: str) -> str:
3031
return {'result': input_str}
@@ -220,17 +221,18 @@ def simple_function(
220221
assert function_decl.parameters.properties['input_dir'].type == 'ARRAY'
221222
assert function_decl.parameters.properties['input_dir'].items.type == 'OBJECT'
222223

224+
223225
def test_enums():
224226

225227
class InputEnum(Enum):
226-
AGENT = "agent"
227-
TOOL = "tool"
228+
AGENT = 'agent'
229+
TOOL = 'tool'
228230

229-
def simple_function(input:InputEnum=InputEnum.AGENT):
231+
def simple_function(input: InputEnum = InputEnum.AGENT):
230232
return input.value
231233

232234
function_decl = _automatic_function_calling_util.build_function_declaration(
233-
func=simple_function
235+
func=simple_function
234236
)
235237

236238
assert function_decl.name == 'simple_function'
@@ -239,14 +241,15 @@ def simple_function(input:InputEnum=InputEnum.AGENT):
239241
assert function_decl.parameters.properties['input'].default == 'agent'
240242
assert function_decl.parameters.properties['input'].enum == ['agent', 'tool']
241243

242-
def simple_function_with_wrong_enum(input:InputEnum="WRONG_ENUM"):
244+
def simple_function_with_wrong_enum(input: InputEnum = 'WRONG_ENUM'):
243245
return input.value
244246

245247
with pytest.raises(ValueError):
246248
_automatic_function_calling_util.build_function_declaration(
247-
func=simple_function_with_wrong_enum
249+
func=simple_function_with_wrong_enum
248250
)
249251

252+
250253
def test_basemodel_list():
251254
class ChildInput(BaseModel):
252255
input_str: str

0 commit comments

Comments
 (0)