From 5551a345ea898e2d8e3abd2e9570b4cec5428182 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ville=20Skytt=C3=A4?= Date: Wed, 4 Oct 2023 04:55:00 +0300 Subject: [PATCH] Remove some unnecessary uses of regular expressions (#101182) --- homeassistant/components/ifttt/alarm_control_panel.py | 3 +-- homeassistant/components/manual/alarm_control_panel.py | 3 +-- homeassistant/components/manual_mqtt/alarm_control_panel.py | 3 +-- homeassistant/components/mqtt/alarm_control_panel.py | 5 +---- homeassistant/helpers/config_validation.py | 5 +---- script/lint_and_test.py | 3 +-- 6 files changed, 6 insertions(+), 16 deletions(-) diff --git a/homeassistant/components/ifttt/alarm_control_panel.py b/homeassistant/components/ifttt/alarm_control_panel.py index 8bd267891a6..a0b87bd4932 100644 --- a/homeassistant/components/ifttt/alarm_control_panel.py +++ b/homeassistant/components/ifttt/alarm_control_panel.py @@ -2,7 +2,6 @@ from __future__ import annotations import logging -import re import voluptuous as vol @@ -160,7 +159,7 @@ class IFTTTAlarmPanel(AlarmControlPanelEntity): """Return one or more digits/characters.""" if self._code is None: return None - if isinstance(self._code, str) and re.search("^\\d+$", self._code): + if isinstance(self._code, str) and self._code.isdigit(): return CodeFormat.NUMBER return CodeFormat.TEXT diff --git a/homeassistant/components/manual/alarm_control_panel.py b/homeassistant/components/manual/alarm_control_panel.py index da77aea6c4a..099275a98a1 100644 --- a/homeassistant/components/manual/alarm_control_panel.py +++ b/homeassistant/components/manual/alarm_control_panel.py @@ -3,7 +3,6 @@ from __future__ import annotations import datetime import logging -import re from typing import Any import voluptuous as vol @@ -280,7 +279,7 @@ class ManualAlarm(alarm.AlarmControlPanelEntity, RestoreEntity): """Return one or more digits/characters.""" if self._code is None: return None - if isinstance(self._code, str) and re.search("^\\d+$", self._code): + if isinstance(self._code, str) and self._code.isdigit(): return alarm.CodeFormat.NUMBER return alarm.CodeFormat.TEXT diff --git a/homeassistant/components/manual_mqtt/alarm_control_panel.py b/homeassistant/components/manual_mqtt/alarm_control_panel.py index 69cd1ef3d11..d1442a4e9ed 100644 --- a/homeassistant/components/manual_mqtt/alarm_control_panel.py +++ b/homeassistant/components/manual_mqtt/alarm_control_panel.py @@ -3,7 +3,6 @@ from __future__ import annotations import datetime import logging -import re from typing import Any import voluptuous as vol @@ -347,7 +346,7 @@ class ManualMQTTAlarm(alarm.AlarmControlPanelEntity): """Return one or more digits/characters.""" if self._code is None: return None - if isinstance(self._code, str) and re.search("^\\d+$", self._code): + if isinstance(self._code, str) and self._code.isdigit(): return alarm.CodeFormat.NUMBER return alarm.CodeFormat.TEXT diff --git a/homeassistant/components/mqtt/alarm_control_panel.py b/homeassistant/components/mqtt/alarm_control_panel.py index 3600d9663dd..dddf8986ca0 100644 --- a/homeassistant/components/mqtt/alarm_control_panel.py +++ b/homeassistant/components/mqtt/alarm_control_panel.py @@ -3,7 +3,6 @@ from __future__ import annotations import functools import logging -import re import voluptuous as vol @@ -178,9 +177,7 @@ class MqttAlarm(MqttEntity, alarm.AlarmControlPanelEntity): if (code := self._config.get(CONF_CODE)) is None: self._attr_code_format = None - elif code == REMOTE_CODE or ( - isinstance(code, str) and re.search("^\\d+$", code) - ): + elif code == REMOTE_CODE or (isinstance(code, str) and code.isdigit()): self._attr_code_format = alarm.CodeFormat.NUMBER else: self._attr_code_format = alarm.CodeFormat.TEXT diff --git a/homeassistant/helpers/config_validation.py b/homeassistant/helpers/config_validation.py index eed57e7ea25..18445ba0789 100644 --- a/homeassistant/helpers/config_validation.py +++ b/homeassistant/helpers/config_validation.py @@ -203,12 +203,9 @@ def boolean(value: Any) -> bool: raise vol.Invalid(f"invalid boolean value {value}") -_WS = re.compile("\\s*") - - def whitespace(value: Any) -> str: """Validate result contains only whitespace.""" - if isinstance(value, str) and _WS.fullmatch(value): + if isinstance(value, str) and (value == "" or value.isspace()): return value raise vol.Invalid(f"contains non-whitespace: {value}") diff --git a/script/lint_and_test.py b/script/lint_and_test.py index 27963758415..ee37841b056 100755 --- a/script/lint_and_test.py +++ b/script/lint_and_test.py @@ -173,8 +173,7 @@ async def main(): ) return - pyfile = re.compile(r".+\.py$") - pyfiles = [file for file in files if pyfile.match(file)] + pyfiles = [file for file in files if file.endswith(".py")] print("=============================") printc("bold", "CHANGED FILES:\n", "\n ".join(pyfiles))