Update voluptuous to 0.15.2 (#120631)

* Update voluptuous to 0.15.1

* Fix typing issues

* Add type ignores for json result type

* Update voluptuous to 0.15.2

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
This commit is contained in:
Marc Mueller 2024-07-02 21:57:09 +02:00 committed by GitHub
parent 0d0ca22103
commit 0e52d149e4
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
11 changed files with 13 additions and 15 deletions

View File

@ -215,7 +215,7 @@ def _prepare_result_json(
data = result.copy()
if (schema := data["data_schema"]) is None:
data["data_schema"] = []
data["data_schema"] = [] # type: ignore[typeddict-item] # json result type
else:
data["data_schema"] = voluptuous_serialize.convert(schema)

View File

@ -156,7 +156,7 @@ def _prepare_result_json(
data = result.copy()
if (schema := data["data_schema"]) is None:
data["data_schema"] = []
data["data_schema"] = [] # type: ignore[typeddict-item] # json result type
else:
data["data_schema"] = voluptuous_serialize.convert(schema)

View File

@ -5,7 +5,7 @@ from __future__ import annotations
from collections.abc import Mapping
from contextlib import suppress
from enum import StrEnum
from typing import Any, cast
from typing import Any
import voluptuous as vol
from voluptuous.humanize import humanize_error
@ -90,7 +90,7 @@ async def _async_validate_config_item( # noqa: C901
def _humanize(err: Exception, config: ConfigType) -> str:
"""Humanize vol.Invalid, stringify other exceptions."""
if isinstance(err, vol.Invalid):
return cast(str, humanize_error(config, err))
return humanize_error(config, err)
return str(err)
def _log_invalid_automation(

View File

@ -145,7 +145,7 @@ def websocket_command(
def decorate(func: const.WebSocketCommandHandler) -> const.WebSocketCommandHandler:
"""Decorate ws command function."""
if is_dict and len(schema) == 1: # type only empty schema
if is_dict and len(schema) == 1: # type: ignore[arg-type] # type only empty schema
func._ws_schema = False # type: ignore[attr-defined] # noqa: SLF001
elif is_dict:
func._ws_schema = messages.BASE_COMMAND_MESSAGE_SCHEMA.extend(schema) # type: ignore[attr-defined] # noqa: SLF001

View File

@ -947,7 +947,7 @@ def _log_pkg_error(
def _identify_config_schema(module: ComponentProtocol) -> str | None:
"""Extract the schema and identify list or dict based."""
if not isinstance(module.CONFIG_SCHEMA, vol.Schema):
return None
return None # type: ignore[unreachable]
schema = module.CONFIG_SCHEMA.schema

View File

@ -112,9 +112,7 @@ class UnknownStep(FlowError):
"""Unknown step specified."""
# ignore misc is required as vol.Invalid is not typed
# mypy error: Class cannot subclass "Invalid" (has type "Any")
class InvalidData(vol.Invalid): # type: ignore[misc]
class InvalidData(vol.Invalid):
"""Invalid data provided."""
def __init__(
@ -386,7 +384,7 @@ class FlowManager(abc.ABC, Generic[_FlowResultT, _HandlerT]):
) is not None and user_input is not None:
data_schema = cast(vol.Schema, data_schema)
try:
user_input = data_schema(user_input) # type: ignore[operator]
user_input = data_schema(user_input)
except vol.Invalid as ex:
raised_errors = [ex]
if isinstance(ex, vol.MultipleInvalid):

View File

@ -47,7 +47,7 @@ class _BaseFlowManagerView(HomeAssistantView, Generic[_FlowManagerT]):
data = result.copy()
if (schema := data["data_schema"]) is None:
data["data_schema"] = []
data["data_schema"] = [] # type: ignore[typeddict-item] # json result type
else:
data["data_schema"] = voluptuous_serialize.convert(
schema, custom_serializer=cv.custom_serializer

View File

@ -60,7 +60,7 @@ ulid-transform==0.9.0
urllib3>=1.26.5,<2
voluptuous-openapi==0.0.4
voluptuous-serialize==2.6.0
voluptuous==0.13.1
voluptuous==0.15.2
webrtc-noise-gain==1.2.3
yarl==1.9.4
zeroconf==0.132.2

View File

@ -29,7 +29,7 @@ class NodeStrClass(str):
def __voluptuous_compile__(self, schema: vol.Schema) -> Any:
"""Needed because vol.Schema.compile does not handle str subclasses."""
return _compile_scalar(self)
return _compile_scalar(self) # type: ignore[no-untyped-call]
class NodeDictClass(dict):

View File

@ -67,7 +67,7 @@ dependencies = [
# Temporary setting an upper bound, to prevent compat issues with urllib3>=2
# https://github.com/home-assistant/core/issues/97248
"urllib3>=1.26.5,<2",
"voluptuous==0.13.1",
"voluptuous==0.15.2",
"voluptuous-serialize==2.6.0",
"voluptuous-openapi==0.0.4",
"yarl==1.9.4",

View File

@ -39,7 +39,7 @@ SQLAlchemy==2.0.31
typing-extensions>=4.12.2,<5.0
ulid-transform==0.9.0
urllib3>=1.26.5,<2
voluptuous==0.13.1
voluptuous==0.15.2
voluptuous-serialize==2.6.0
voluptuous-openapi==0.0.4
yarl==1.9.4