Skip to content

Commit

Permalink
Improve TotalConnect translations (#125978)
Browse files Browse the repository at this point in the history
* improve translations

* remove periods from tests

* simplify message strings

* use a comma
  • Loading branch information
austinmroczek authored Sep 16, 2024
1 parent a8648b7 commit af03003
Show file tree
Hide file tree
Showing 3 changed files with 78 additions and 30 deletions.
42 changes: 30 additions & 12 deletions homeassistant/components/totalconnect/alarm_control_panel.py
Original file line number Diff line number Diff line change
Expand Up @@ -158,11 +158,14 @@ async def async_alarm_disarm(self, code: str | None = None) -> None:
except UsercodeInvalid as error:
self.coordinator.config_entry.async_start_reauth(self.hass)
raise HomeAssistantError(
"TotalConnect usercode is invalid. Did not disarm"
translation_domain=DOMAIN,
translation_key="disarm_invalid_code",
) from error
except BadResultCodeError as error:
raise HomeAssistantError(
f"TotalConnect failed to disarm {self.device.name}."
translation_domain=DOMAIN,
translation_key="disarm_failed",
translation_placeholders={"device": self.device.name},
) from error
await self.coordinator.async_request_refresh()

Expand All @@ -178,11 +181,14 @@ async def async_alarm_arm_home(self, code: str | None = None) -> None:
except UsercodeInvalid as error:
self.coordinator.config_entry.async_start_reauth(self.hass)
raise HomeAssistantError(
"TotalConnect usercode is invalid. Did not arm home"
translation_domain=DOMAIN,
translation_key="arm_home_invalid_code",
) from error
except BadResultCodeError as error:
raise HomeAssistantError(
f"TotalConnect failed to arm home {self.device.name}."
translation_domain=DOMAIN,
translation_key="arm_home_failed",
translation_placeholders={"device": self.device.name},
) from error
await self.coordinator.async_request_refresh()

Expand All @@ -198,11 +204,14 @@ async def async_alarm_arm_away(self, code: str | None = None) -> None:
except UsercodeInvalid as error:
self.coordinator.config_entry.async_start_reauth(self.hass)
raise HomeAssistantError(
"TotalConnect usercode is invalid. Did not arm away"
translation_domain=DOMAIN,
translation_key="arm_away_invalid_code",
) from error
except BadResultCodeError as error:
raise HomeAssistantError(
f"TotalConnect failed to arm away {self.device.name}."
translation_domain=DOMAIN,
translation_key="arm_away_failed",
translation_placeholders={"device": self.device.name},
) from error
await self.coordinator.async_request_refresh()

Expand All @@ -218,11 +227,14 @@ async def async_alarm_arm_night(self, code: str | None = None) -> None:
except UsercodeInvalid as error:
self.coordinator.config_entry.async_start_reauth(self.hass)
raise HomeAssistantError(
"TotalConnect usercode is invalid. Did not arm night"
translation_domain=DOMAIN,
translation_key="arm_night_invalid_code",
) from error
except BadResultCodeError as error:
raise HomeAssistantError(
f"TotalConnect failed to arm night {self.device.name}."
translation_domain=DOMAIN,
translation_key="arm_night_failed",
translation_placeholders={"device": self.device.name},
) from error
await self.coordinator.async_request_refresh()

Expand All @@ -237,11 +249,14 @@ async def async_alarm_arm_home_instant(self) -> None:
except UsercodeInvalid as error:
self.coordinator.config_entry.async_start_reauth(self.hass)
raise HomeAssistantError(
"TotalConnect usercode is invalid. Did not arm home instant"
translation_domain=DOMAIN,
translation_key="arm_home_instant_invalid_code",
) from error
except BadResultCodeError as error:
raise HomeAssistantError(
f"TotalConnect failed to arm home instant {self.device.name}."
translation_domain=DOMAIN,
translation_key="arm_home_instant_failed",
translation_placeholders={"device": self.device.name},
) from error
await self.coordinator.async_request_refresh()

Expand All @@ -256,11 +271,14 @@ async def async_alarm_arm_away_instant(self) -> None:
except UsercodeInvalid as error:
self.coordinator.config_entry.async_start_reauth(self.hass)
raise HomeAssistantError(
"TotalConnect usercode is invalid. Did not arm away instant"
translation_domain=DOMAIN,
translation_key="arm_away_instant_invalid_code",
) from error
except BadResultCodeError as error:
raise HomeAssistantError(
f"TotalConnect failed to arm away instant {self.device.name}."
translation_domain=DOMAIN,
translation_key="arm_away_instant_failed",
translation_placeholders={"device": self.device.name},
) from error
await self.coordinator.async_request_refresh()

Expand Down
36 changes: 36 additions & 0 deletions homeassistant/components/totalconnect/strings.json
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,42 @@
"exceptions": {
"invalid_pin": {
"message": "Incorrect code entered"
},
"disarm_failed": {
"message": "Failed to disarm {device}"
},
"disarm_invalid_code": {
"message": "Usercode is invalid, did not disarm"
},
"arm_home_failed": {
"message": "Failed to arm home {device}"
},
"arm_home_invalid_code": {
"message": "Usercode is invalid, did not arm home"
},
"arm_away_failed": {
"message": "Failed to arm away {device}"
},
"arm_away_invalid_code": {
"message": "Usercode is invalid, did not arm away"
},
"arm_night_failed": {
"message": "Failed to arm night {device}"
},
"arm_night_invalid_code": {
"message": "Usercode is invalid, did not arm night"
},
"arm_home_instant_failed": {
"message": "Failed to arm home instant {device}"
},
"arm_home_instant_invalid_code": {
"message": "Usercode is invalid, did not arm home instant"
},
"arm_away_instant_failed": {
"message": "Failed to arm away instant {device}"
},
"arm_away_instant_invalid_code": {
"message": "Usercode is invalid, did not arm away instant"
}
}
}
30 changes: 12 additions & 18 deletions tests/components/totalconnect/test_alarm_control_panel.py
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,7 @@ async def test_arm_home_failure(hass: HomeAssistant) -> None:
ALARM_DOMAIN, SERVICE_ALARM_ARM_HOME, DATA, blocking=True
)
await hass.async_block_till_done()
assert f"{err.value}" == "TotalConnect failed to arm home test."
assert f"{err.value}" == "Failed to arm home test"
assert hass.states.get(ENTITY_ID).state == STATE_ALARM_DISARMED
assert mock_request.call_count == 2

Expand All @@ -143,7 +143,7 @@ async def test_arm_home_failure(hass: HomeAssistant) -> None:
ALARM_DOMAIN, SERVICE_ALARM_ARM_HOME, DATA, blocking=True
)
await hass.async_block_till_done()
assert f"{err.value}" == "TotalConnect usercode is invalid. Did not arm home"
assert f"{err.value}" == "Usercode is invalid, did not arm home"
assert hass.states.get(ENTITY_ID).state == STATE_ALARM_DISARMED
# should have started a re-auth flow
assert len(hass.config_entries.flow.async_progress_by_handler(DOMAIN)) == 1
Expand Down Expand Up @@ -190,7 +190,7 @@ async def test_arm_home_instant_failure(hass: HomeAssistant) -> None:
DOMAIN, SERVICE_ALARM_ARM_HOME_INSTANT, DATA, blocking=True
)
await hass.async_block_till_done()
assert f"{err.value}" == "TotalConnect failed to arm home instant test."
assert f"{err.value}" == "Failed to arm home instant test"
assert hass.states.get(ENTITY_ID).state == STATE_ALARM_DISARMED
assert mock_request.call_count == 2

Expand All @@ -200,10 +200,7 @@ async def test_arm_home_instant_failure(hass: HomeAssistant) -> None:
DOMAIN, SERVICE_ALARM_ARM_HOME_INSTANT, DATA, blocking=True
)
await hass.async_block_till_done()
assert (
f"{err.value}"
== "TotalConnect usercode is invalid. Did not arm home instant"
)
assert f"{err.value}" == "Usercode is invalid, did not arm home instant"
assert hass.states.get(ENTITY_ID).state == STATE_ALARM_DISARMED
# should have started a re-auth flow
assert len(hass.config_entries.flow.async_progress_by_handler(DOMAIN)) == 1
Expand Down Expand Up @@ -250,7 +247,7 @@ async def test_arm_away_instant_failure(hass: HomeAssistant) -> None:
DOMAIN, SERVICE_ALARM_ARM_AWAY_INSTANT, DATA, blocking=True
)
await hass.async_block_till_done()
assert f"{err.value}" == "TotalConnect failed to arm away instant test."
assert f"{err.value}" == "Failed to arm away instant test"
assert hass.states.get(ENTITY_ID).state == STATE_ALARM_DISARMED
assert mock_request.call_count == 2

Expand All @@ -260,10 +257,7 @@ async def test_arm_away_instant_failure(hass: HomeAssistant) -> None:
DOMAIN, SERVICE_ALARM_ARM_AWAY_INSTANT, DATA, blocking=True
)
await hass.async_block_till_done()
assert (
f"{err.value}"
== "TotalConnect usercode is invalid. Did not arm away instant"
)
assert f"{err.value}" == "Usercode is invalid, did not arm away instant"
assert hass.states.get(ENTITY_ID).state == STATE_ALARM_DISARMED
# should have started a re-auth flow
assert len(hass.config_entries.flow.async_progress_by_handler(DOMAIN)) == 1
Expand Down Expand Up @@ -309,7 +303,7 @@ async def test_arm_away_failure(hass: HomeAssistant) -> None:
ALARM_DOMAIN, SERVICE_ALARM_ARM_AWAY, DATA, blocking=True
)
await hass.async_block_till_done()
assert f"{err.value}" == "TotalConnect failed to arm away test."
assert f"{err.value}" == "Failed to arm away test"
assert hass.states.get(ENTITY_ID).state == STATE_ALARM_DISARMED
assert mock_request.call_count == 2

Expand All @@ -319,7 +313,7 @@ async def test_arm_away_failure(hass: HomeAssistant) -> None:
ALARM_DOMAIN, SERVICE_ALARM_ARM_AWAY, DATA, blocking=True
)
await hass.async_block_till_done()
assert f"{err.value}" == "TotalConnect usercode is invalid. Did not arm away"
assert f"{err.value}" == "Usercode is invalid, did not arm away"
assert hass.states.get(ENTITY_ID).state == STATE_ALARM_DISARMED
# should have started a re-auth flow
assert len(hass.config_entries.flow.async_progress_by_handler(DOMAIN)) == 1
Expand Down Expand Up @@ -369,7 +363,7 @@ async def test_disarm_failure(hass: HomeAssistant) -> None:
ALARM_DOMAIN, SERVICE_ALARM_DISARM, DATA, blocking=True
)
await hass.async_block_till_done()
assert f"{err.value}" == "TotalConnect failed to disarm test."
assert f"{err.value}" == "Failed to disarm test"
assert hass.states.get(ENTITY_ID).state == STATE_ALARM_ARMED_AWAY
assert mock_request.call_count == 2

Expand All @@ -379,7 +373,7 @@ async def test_disarm_failure(hass: HomeAssistant) -> None:
ALARM_DOMAIN, SERVICE_ALARM_DISARM, DATA, blocking=True
)
await hass.async_block_till_done()
assert f"{err.value}" == "TotalConnect usercode is invalid. Did not disarm"
assert f"{err.value}" == "Usercode is invalid, did not disarm"
assert hass.states.get(ENTITY_ID).state == STATE_ALARM_ARMED_AWAY
# should have started a re-auth flow
assert len(hass.config_entries.flow.async_progress_by_handler(DOMAIN)) == 1
Expand Down Expand Up @@ -463,7 +457,7 @@ async def test_arm_night_failure(hass: HomeAssistant) -> None:
ALARM_DOMAIN, SERVICE_ALARM_ARM_NIGHT, DATA, blocking=True
)
await hass.async_block_till_done()
assert f"{err.value}" == "TotalConnect failed to arm night test."
assert f"{err.value}" == "Failed to arm night test"
assert hass.states.get(ENTITY_ID).state == STATE_ALARM_DISARMED
assert mock_request.call_count == 2

Expand All @@ -473,7 +467,7 @@ async def test_arm_night_failure(hass: HomeAssistant) -> None:
ALARM_DOMAIN, SERVICE_ALARM_ARM_NIGHT, DATA, blocking=True
)
await hass.async_block_till_done()
assert f"{err.value}" == "TotalConnect usercode is invalid. Did not arm night"
assert f"{err.value}" == "Usercode is invalid, did not arm night"
assert hass.states.get(ENTITY_ID).state == STATE_ALARM_DISARMED
# should have started a re-auth flow
assert len(hass.config_entries.flow.async_progress_by_handler(DOMAIN)) == 1
Expand Down

0 comments on commit af03003

Please sign in to comment.