Use common strings for Panasonic Viera (#41268)

* Update strings.json

* Update config_flow.py

* Update homeassistant/components/panasonic_viera/strings.json

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/panasonic_viera/strings.json

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update config_flow.py

* Update test_config_flow.py

* Update test_config_flow.py

* Fix failed tests

* revert line 530

* Fix remaining error key

* Remove not needed import

* Update const.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
This commit is contained in:
TopdRob 2020-10-06 14:07:38 +02:00 committed by GitHub
parent 356ebc1128
commit 888c92aa5e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 18 additions and 28 deletions

View File

@ -17,9 +17,6 @@ from .const import ( # pylint: disable=unused-import
DEFAULT_PORT, DEFAULT_PORT,
DOMAIN, DOMAIN,
ERROR_INVALID_PIN_CODE, ERROR_INVALID_PIN_CODE,
ERROR_NOT_CONNECTED,
REASON_NOT_CONNECTED,
REASON_UNKNOWN,
) )
_LOGGER = logging.getLogger(__name__) _LOGGER = logging.getLogger(__name__)
@ -54,10 +51,10 @@ class ConfigFlow(config_entries.ConfigFlow, domain=DOMAIN):
) )
except (TimeoutError, URLError, SOAPError, OSError) as err: except (TimeoutError, URLError, SOAPError, OSError) as err:
_LOGGER.error("Could not establish remote connection: %s", err) _LOGGER.error("Could not establish remote connection: %s", err)
errors["base"] = ERROR_NOT_CONNECTED errors["base"] = "cannot_connect"
except Exception as err: # pylint: disable=broad-except except Exception as err: # pylint: disable=broad-except
_LOGGER.exception("An unknown error occurred: %s", err) _LOGGER.exception("An unknown error occurred: %s", err)
return self.async_abort(reason=REASON_UNKNOWN) return self.async_abort(reason="unknown")
if "base" not in errors: if "base" not in errors:
if self._remote.type == TV_TYPE_ENCRYPTED: if self._remote.type == TV_TYPE_ENCRYPTED:
@ -104,10 +101,10 @@ class ConfigFlow(config_entries.ConfigFlow, domain=DOMAIN):
errors["base"] = ERROR_INVALID_PIN_CODE errors["base"] = ERROR_INVALID_PIN_CODE
except (TimeoutError, URLError, OSError) as err: except (TimeoutError, URLError, OSError) as err:
_LOGGER.error("The remote connection was lost: %s", err) _LOGGER.error("The remote connection was lost: %s", err)
return self.async_abort(reason=REASON_NOT_CONNECTED) return self.async_abort(reason="cannot_connect")
except Exception as err: # pylint: disable=broad-except except Exception as err: # pylint: disable=broad-except
_LOGGER.exception("Unknown error: %s", err) _LOGGER.exception("Unknown error: %s", err)
return self.async_abort(reason=REASON_UNKNOWN) return self.async_abort(reason="unknown")
if "base" not in errors: if "base" not in errors:
encryption_data = { encryption_data = {
@ -128,10 +125,10 @@ class ConfigFlow(config_entries.ConfigFlow, domain=DOMAIN):
) )
except (TimeoutError, URLError, SOAPError, OSError) as err: except (TimeoutError, URLError, SOAPError, OSError) as err:
_LOGGER.error("The remote connection was lost: %s", err) _LOGGER.error("The remote connection was lost: %s", err)
return self.async_abort(reason=REASON_NOT_CONNECTED) return self.async_abort(reason="cannot_connect")
except Exception as err: # pylint: disable=broad-except except Exception as err: # pylint: disable=broad-except
_LOGGER.exception("Unknown error: %s", err) _LOGGER.exception("Unknown error: %s", err)
return self.async_abort(reason=REASON_UNKNOWN) return self.async_abort(reason="unknown")
return self.async_show_form( return self.async_show_form(
step_id="pairing", step_id="pairing",

View File

@ -12,8 +12,4 @@ DEFAULT_PORT = 55000
ATTR_REMOTE = "remote" ATTR_REMOTE = "remote"
ERROR_NOT_CONNECTED = "not_connected"
ERROR_INVALID_PIN_CODE = "invalid_pin_code" ERROR_INVALID_PIN_CODE = "invalid_pin_code"
REASON_NOT_CONNECTED = "not_connected"
REASON_UNKNOWN = "unknown"

View File

@ -19,13 +19,13 @@
} }
}, },
"error": { "error": {
"not_connected": "Could not establish a remote connection with your Panasonic Viera TV", "cannot_connect": "[%key:common::config_flow::error::cannot_connect%]",
"invalid_pin_code": "The PIN code you entered was invalid" "invalid_pin_code": "The PIN code you entered was invalid"
}, },
"abort": { "abort": {
"already_configured": "This Panasonic Viera TV is already configured.", "already_configured": "[%key:common::config_flow::abort::already_configured_device%]",
"not_connected": "The remote connection with your Panasonic Viera TV was lost. Check the logs for more information.", "cannot_connect": "[%key:common::config_flow::error::cannot_connect%]",
"unknown": "An unknown error occured. Check the logs for more information." "unknown": "[%key:common::config_flow::error::unknown%]"
} }
} }
} }

View File

@ -11,9 +11,6 @@ from homeassistant.components.panasonic_viera.const import (
DEFAULT_PORT, DEFAULT_PORT,
DOMAIN, DOMAIN,
ERROR_INVALID_PIN_CODE, ERROR_INVALID_PIN_CODE,
ERROR_NOT_CONNECTED,
REASON_NOT_CONNECTED,
REASON_UNKNOWN,
) )
from homeassistant.const import CONF_HOST, CONF_NAME, CONF_PIN, CONF_PORT from homeassistant.const import CONF_HOST, CONF_NAME, CONF_PIN, CONF_PORT
@ -116,7 +113,7 @@ async def test_flow_not_connected_error(hass):
assert result["type"] == "form" assert result["type"] == "form"
assert result["step_id"] == "user" assert result["step_id"] == "user"
assert result["errors"] == {"base": ERROR_NOT_CONNECTED} assert result["errors"] == {"base": "cannot_connect"}
async def test_flow_unknown_abort(hass): async def test_flow_unknown_abort(hass):
@ -139,7 +136,7 @@ async def test_flow_unknown_abort(hass):
) )
assert result["type"] == "abort" assert result["type"] == "abort"
assert result["reason"] == REASON_UNKNOWN assert result["reason"] == "unknown"
async def test_flow_encrypted_valid_pin_code(hass): async def test_flow_encrypted_valid_pin_code(hass):
@ -255,7 +252,7 @@ async def test_flow_encrypted_not_connected_abort(hass):
) )
assert result["type"] == "abort" assert result["type"] == "abort"
assert result["reason"] == REASON_NOT_CONNECTED assert result["reason"] == "cannot_connect"
async def test_flow_encrypted_unknown_abort(hass): async def test_flow_encrypted_unknown_abort(hass):
@ -288,7 +285,7 @@ async def test_flow_encrypted_unknown_abort(hass):
) )
assert result["type"] == "abort" assert result["type"] == "abort"
assert result["reason"] == REASON_UNKNOWN assert result["reason"] == "unknown"
async def test_flow_non_encrypted_already_configured_abort(hass): async def test_flow_non_encrypted_already_configured_abort(hass):
@ -475,7 +472,7 @@ async def test_imported_flow_encrypted_not_connected_abort(hass):
) )
assert result["type"] == "abort" assert result["type"] == "abort"
assert result["reason"] == REASON_NOT_CONNECTED assert result["reason"] == "cannot_connect"
async def test_imported_flow_encrypted_unknown_abort(hass): async def test_imported_flow_encrypted_unknown_abort(hass):
@ -507,7 +504,7 @@ async def test_imported_flow_encrypted_unknown_abort(hass):
) )
assert result["type"] == "abort" assert result["type"] == "abort"
assert result["reason"] == REASON_UNKNOWN assert result["reason"] == "unknown"
async def test_imported_flow_not_connected_error(hass): async def test_imported_flow_not_connected_error(hass):
@ -530,7 +527,7 @@ async def test_imported_flow_not_connected_error(hass):
assert result["type"] == "form" assert result["type"] == "form"
assert result["step_id"] == "user" assert result["step_id"] == "user"
assert result["errors"] == {"base": ERROR_NOT_CONNECTED} assert result["errors"] == {"base": "cannot_connect"}
async def test_imported_flow_unknown_abort(hass): async def test_imported_flow_unknown_abort(hass):
@ -552,7 +549,7 @@ async def test_imported_flow_unknown_abort(hass):
) )
assert result["type"] == "abort" assert result["type"] == "abort"
assert result["reason"] == REASON_UNKNOWN assert result["reason"] == "unknown"
async def test_imported_flow_non_encrypted_already_configured_abort(hass): async def test_imported_flow_non_encrypted_already_configured_abort(hass):