mirror of
https://github.com/home-assistant/core.git
synced 2025-07-12 07:47:08 +00:00
Fix missing translations in generic (#130672)
This commit is contained in:
parent
9e4d26137e
commit
8d6f2e78f5
@ -282,7 +282,7 @@ async def async_test_stream(
|
|||||||
return {CONF_STREAM_SOURCE: "timeout"}
|
return {CONF_STREAM_SOURCE: "timeout"}
|
||||||
await stream.stop()
|
await stream.stop()
|
||||||
except StreamWorkerError as err:
|
except StreamWorkerError as err:
|
||||||
return {CONF_STREAM_SOURCE: str(err)}
|
return {CONF_STREAM_SOURCE: "unknown_with_details", "error_details": str(err)}
|
||||||
except PermissionError:
|
except PermissionError:
|
||||||
return {CONF_STREAM_SOURCE: "stream_not_permitted"}
|
return {CONF_STREAM_SOURCE: "stream_not_permitted"}
|
||||||
except OSError as err:
|
except OSError as err:
|
||||||
@ -339,6 +339,7 @@ class GenericIPCamConfigFlow(ConfigFlow, domain=DOMAIN):
|
|||||||
) -> ConfigFlowResult:
|
) -> ConfigFlowResult:
|
||||||
"""Handle the start of the config flow."""
|
"""Handle the start of the config flow."""
|
||||||
errors = {}
|
errors = {}
|
||||||
|
description_placeholders = {}
|
||||||
hass = self.hass
|
hass = self.hass
|
||||||
if user_input:
|
if user_input:
|
||||||
# Secondary validation because serialised vol can't seem to handle this complexity:
|
# Secondary validation because serialised vol can't seem to handle this complexity:
|
||||||
@ -372,6 +373,8 @@ class GenericIPCamConfigFlow(ConfigFlow, domain=DOMAIN):
|
|||||||
# temporary preview for user to check the image
|
# temporary preview for user to check the image
|
||||||
self.preview_cam = user_input
|
self.preview_cam = user_input
|
||||||
return await self.async_step_user_confirm_still()
|
return await self.async_step_user_confirm_still()
|
||||||
|
if "error_details" in errors:
|
||||||
|
description_placeholders["error"] = errors.pop("error_details")
|
||||||
elif self.user_input:
|
elif self.user_input:
|
||||||
user_input = self.user_input
|
user_input = self.user_input
|
||||||
else:
|
else:
|
||||||
@ -379,6 +382,7 @@ class GenericIPCamConfigFlow(ConfigFlow, domain=DOMAIN):
|
|||||||
return self.async_show_form(
|
return self.async_show_form(
|
||||||
step_id="user",
|
step_id="user",
|
||||||
data_schema=build_schema(user_input),
|
data_schema=build_schema(user_input),
|
||||||
|
description_placeholders=description_placeholders,
|
||||||
errors=errors,
|
errors=errors,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
"config": {
|
"config": {
|
||||||
"error": {
|
"error": {
|
||||||
"unknown": "[%key:common::config_flow::error::unknown%]",
|
"unknown": "[%key:common::config_flow::error::unknown%]",
|
||||||
|
"unknown_with_details": "An unknown error occurred: {error}",
|
||||||
"already_exists": "A camera with these URL settings already exists.",
|
"already_exists": "A camera with these URL settings already exists.",
|
||||||
"unable_still_load": "Unable to load valid image from still image URL (e.g. invalid host, URL or authentication failure). Review log for more info.",
|
"unable_still_load": "Unable to load valid image from still image URL (e.g. invalid host, URL or authentication failure). Review log for more info.",
|
||||||
"unable_still_load_auth": "Unable to load valid image from still image URL: The camera may require a user name and password, or they are not correct.",
|
"unable_still_load_auth": "Unable to load valid image from still image URL: The camera may require a user name and password, or they are not correct.",
|
||||||
|
@ -637,10 +637,6 @@ async def test_form_stream_other_error(hass: HomeAssistant, user_flow) -> None:
|
|||||||
await hass.async_block_till_done()
|
await hass.async_block_till_done()
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.parametrize( # Remove when translations fixed
|
|
||||||
"ignore_translations",
|
|
||||||
["component.generic.config.error.Some message"],
|
|
||||||
)
|
|
||||||
@respx.mock
|
@respx.mock
|
||||||
@pytest.mark.usefixtures("fakeimg_png")
|
@pytest.mark.usefixtures("fakeimg_png")
|
||||||
async def test_form_stream_worker_error(
|
async def test_form_stream_worker_error(
|
||||||
@ -656,7 +652,8 @@ async def test_form_stream_worker_error(
|
|||||||
TESTDATA,
|
TESTDATA,
|
||||||
)
|
)
|
||||||
assert result2["type"] is FlowResultType.FORM
|
assert result2["type"] is FlowResultType.FORM
|
||||||
assert result2["errors"] == {"stream_source": "Some message"}
|
assert result2["errors"] == {"stream_source": "unknown_with_details"}
|
||||||
|
assert result2["description_placeholders"] == {"error": "Some message"}
|
||||||
|
|
||||||
|
|
||||||
@respx.mock
|
@respx.mock
|
||||||
|
Loading…
x
Reference in New Issue
Block a user