mirror of
https://github.com/home-assistant/core.git
synced 2025-04-19 14:57:52 +00:00
Improve string formatting v4 (#33668)
* Improve string formatting v4 * Use normal strings instead of f-strings * Fix zeroconf test by adding back part of a condition
This commit is contained in:
parent
b855177fe6
commit
e3bcfb88e7
@ -291,10 +291,8 @@ class AlmondAgent(conversation.AbstractConversationAgent):
|
||||
buffer += f"\n Picture: {message['url']}"
|
||||
elif message["type"] == "rdl":
|
||||
buffer += (
|
||||
"\n Link: "
|
||||
+ message["rdl"]["displayTitle"]
|
||||
+ " "
|
||||
+ message["rdl"]["webCallback"]
|
||||
f"\n Link: {message['rdl']['displayTitle']} "
|
||||
f"{message['rdl']['webCallback']}"
|
||||
)
|
||||
elif message["type"] == "choice":
|
||||
if first_choice:
|
||||
|
@ -142,9 +142,8 @@ class AnthemAVR(MediaPlayerDevice):
|
||||
def app_name(self):
|
||||
"""Return details about current video and audio stream."""
|
||||
return (
|
||||
self._lookup("video_input_resolution_text", "")
|
||||
+ " "
|
||||
+ self._lookup("audio_input_name", "")
|
||||
f"{self._lookup('video_input_resolution_text', '')} "
|
||||
f"{self._lookup('audio_input_name', '')}"
|
||||
)
|
||||
|
||||
@property
|
||||
|
@ -154,8 +154,10 @@ def request_configuration(config, hass, add_entities):
|
||||
_CONFIGURING[host] = configurator.request_config(
|
||||
name,
|
||||
bravia_configuration_callback,
|
||||
description="Enter the Pin shown on your Sony Bravia TV."
|
||||
+ "If no Pin is shown, enter 0000 to let TV show you a Pin.",
|
||||
description=(
|
||||
"Enter the Pin shown on your Sony Bravia TV."
|
||||
"If no Pin is shown, enter 0000 to let TV show you a Pin."
|
||||
),
|
||||
description_image="/static/images/smart-tv.png",
|
||||
submit_caption="Confirm",
|
||||
fields=[{"id": "pin", "name": "Enter the pin", "type": ""}],
|
||||
|
@ -46,7 +46,7 @@ class EnvisalinkSensor(EnvisalinkDevice, Entity):
|
||||
self._partition_number = partition_number
|
||||
|
||||
_LOGGER.debug("Setting up sensor for partition: %s", partition_name)
|
||||
super().__init__(partition_name + " Keypad", info, controller)
|
||||
super().__init__(f"{partition_name} Keypad", info, controller)
|
||||
|
||||
async def async_added_to_hass(self):
|
||||
"""Register callbacks."""
|
||||
|
@ -68,7 +68,7 @@ async def async_setup(hass, config):
|
||||
pub_exclude.get(CONF_ENTITIES, []),
|
||||
)
|
||||
if not base_topic.endswith("/"):
|
||||
base_topic = base_topic + "/"
|
||||
base_topic = f"{base_topic}/"
|
||||
|
||||
@callback
|
||||
def _state_publisher(entity_id, old_state, new_state):
|
||||
@ -80,17 +80,17 @@ async def async_setup(hass, config):
|
||||
|
||||
payload = new_state.state
|
||||
|
||||
mybase = base_topic + entity_id.replace(".", "/") + "/"
|
||||
hass.components.mqtt.async_publish(mybase + "state", payload, 1, True)
|
||||
mybase = f"{base_topic}{entity_id.replace('.', '/')}/"
|
||||
hass.components.mqtt.async_publish(f"{mybase}state", payload, 1, True)
|
||||
|
||||
if publish_timestamps:
|
||||
if new_state.last_updated:
|
||||
hass.components.mqtt.async_publish(
|
||||
mybase + "last_updated", new_state.last_updated.isoformat(), 1, True
|
||||
f"{mybase}last_updated", new_state.last_updated.isoformat(), 1, True
|
||||
)
|
||||
if new_state.last_changed:
|
||||
hass.components.mqtt.async_publish(
|
||||
mybase + "last_changed", new_state.last_changed.isoformat(), 1, True
|
||||
f"{mybase}last_changed", new_state.last_changed.isoformat(), 1, True
|
||||
)
|
||||
|
||||
if publish_attributes:
|
||||
|
@ -199,9 +199,8 @@ class NeatoConnectedVacuum(StateVacuumDevice):
|
||||
if robot_alert is None:
|
||||
self._clean_state = STATE_CLEANING
|
||||
self._status_state = (
|
||||
MODE.get(self._state["cleaning"]["mode"])
|
||||
+ " "
|
||||
+ ACTION.get(self._state["action"])
|
||||
f"{MODE.get(self._state['cleaning']['mode'])} "
|
||||
f"{ACTION.get(self._state['action'])}"
|
||||
)
|
||||
if (
|
||||
"boundary" in self._state["cleaning"]
|
||||
|
@ -32,7 +32,7 @@ ATTR_TOTAL_MATCHES = "total_matches"
|
||||
|
||||
CASCADE_URL = (
|
||||
"https://raw.githubusercontent.com/opencv/opencv/master/data/"
|
||||
+ "lbpcascades/lbpcascade_frontalface.xml"
|
||||
"lbpcascades/lbpcascade_frontalface.xml"
|
||||
)
|
||||
|
||||
CONF_CLASSIFIER = "classifier"
|
||||
|
@ -225,7 +225,7 @@ class PioneerDevice(MediaPlayerDevice):
|
||||
def set_volume_level(self, volume):
|
||||
"""Set volume level, range 0..1."""
|
||||
# 60dB max
|
||||
self.telnet_command(str(round(volume * MAX_VOLUME)).zfill(3) + "VL")
|
||||
self.telnet_command(f"{round(volume * MAX_VOLUME):03}VL")
|
||||
|
||||
def mute_volume(self, mute):
|
||||
"""Mute (true) or unmute (false) media player."""
|
||||
@ -237,4 +237,4 @@ class PioneerDevice(MediaPlayerDevice):
|
||||
|
||||
def select_source(self, source):
|
||||
"""Select input source."""
|
||||
self.telnet_command(self._source_name_to_number.get(source) + "FN")
|
||||
self.telnet_command(f"{self._source_name_to_number.get(source)}FN")
|
||||
|
@ -160,7 +160,7 @@ class Proximity(Entity):
|
||||
if (device_state.state).lower() == (self.friendly_name).lower():
|
||||
device_friendly = device_state.name
|
||||
if devices_in_zone != "":
|
||||
devices_in_zone = devices_in_zone + ", "
|
||||
devices_in_zone = f"{devices_in_zone}, "
|
||||
devices_in_zone = devices_in_zone + device_friendly
|
||||
|
||||
# No-one to track so reset the entity.
|
||||
|
@ -54,7 +54,7 @@ RACHIO_API_EXCEPTIONS = (
|
||||
STATUS_ONLINE = "ONLINE"
|
||||
STATUS_OFFLINE = "OFFLINE"
|
||||
|
||||
SIGNAL_RACHIO_UPDATE = DOMAIN + "_update"
|
||||
SIGNAL_RACHIO_CONTROLLER_UPDATE = SIGNAL_RACHIO_UPDATE + "_controller"
|
||||
SIGNAL_RACHIO_ZONE_UPDATE = SIGNAL_RACHIO_UPDATE + "_zone"
|
||||
SIGNAL_RACHIO_SCHEDULE_UPDATE = SIGNAL_RACHIO_UPDATE + "_schedule"
|
||||
SIGNAL_RACHIO_UPDATE = f"{DOMAIN}_update"
|
||||
SIGNAL_RACHIO_CONTROLLER_UPDATE = f"{SIGNAL_RACHIO_UPDATE}_controller"
|
||||
SIGNAL_RACHIO_ZONE_UPDATE = f"{SIGNAL_RACHIO_UPDATE}_zone"
|
||||
SIGNAL_RACHIO_SCHEDULE_UPDATE = f"{SIGNAL_RACHIO_UPDATE}_schedule"
|
||||
|
@ -105,7 +105,7 @@ class I2CHatSwitch(ToggleEntity):
|
||||
|
||||
def _log_message(self, message):
|
||||
"""Create log message."""
|
||||
string = self._name + " "
|
||||
string = f"{self._name} "
|
||||
string += f"{self._board}I2CHat@{hex(self._address)} "
|
||||
string += f"channel:{str(self._channel)}{message}"
|
||||
return string
|
||||
|
@ -137,10 +137,12 @@ def _register_new_account(
|
||||
request_id = configurator.async_request_config(
|
||||
f"{DOMAIN} - {account_name}",
|
||||
callback=register_account_callback,
|
||||
description="You need to log in to Remember The Milk to"
|
||||
+ "connect your account. \n\n"
|
||||
+ 'Step 1: Click on the link "Remember The Milk login"\n\n'
|
||||
+ 'Step 2: Click on "login completed"',
|
||||
description=(
|
||||
"You need to log in to Remember The Milk to"
|
||||
"connect your account. \n\n"
|
||||
"Step 1: Click on the link 'Remember The Milk login'\n\n"
|
||||
"Step 2: Click on 'login completed'"
|
||||
),
|
||||
link_name="Remember The Milk login",
|
||||
link_url=url,
|
||||
submit_caption="login completed",
|
||||
|
@ -14,7 +14,7 @@ from homeassistant.helpers import config_validation as cv, discovery
|
||||
_LOGGER = logging.getLogger(__name__)
|
||||
|
||||
DOMAIN = "waterfurnace"
|
||||
UPDATE_TOPIC = DOMAIN + "_update"
|
||||
UPDATE_TOPIC = f"{DOMAIN}_update"
|
||||
SCAN_INTERVAL = timedelta(seconds=10)
|
||||
ERROR_INTERVAL = timedelta(seconds=300)
|
||||
MAX_FAILS = 10
|
||||
|
@ -39,6 +39,6 @@ SIGNAL_WEBSOCKET_CONNECTED = "websocket_connected"
|
||||
SIGNAL_WEBSOCKET_DISCONNECTED = "websocket_disconnected"
|
||||
|
||||
# Data used to store the current connection list
|
||||
DATA_CONNECTIONS = DOMAIN + ".connections"
|
||||
DATA_CONNECTIONS = f"{DOMAIN}.connections"
|
||||
|
||||
JSON_DUMP = partial(json.dumps, cls=JSONEncoder, allow_nan=False)
|
||||
|
@ -104,8 +104,7 @@ class WinkWaterHeater(WinkDevice, WaterHeaterDevice):
|
||||
else:
|
||||
error = (
|
||||
"Invalid operation mode mapping. "
|
||||
+ mode
|
||||
+ " doesn't map. Please report this."
|
||||
f"{mode} doesn't map. Please report this."
|
||||
)
|
||||
_LOGGER.error(error)
|
||||
return op_list
|
||||
|
@ -134,8 +134,8 @@ def handle_homekit(hass, info) -> bool:
|
||||
for test_model in HOMEKIT:
|
||||
if (
|
||||
model != test_model
|
||||
and not model.startswith(test_model + " ")
|
||||
and not model.startswith(test_model + "-")
|
||||
and not model.startswith(f"{test_model} ")
|
||||
and not model.startswith(f"{test_model}-")
|
||||
):
|
||||
continue
|
||||
|
||||
|
@ -774,9 +774,9 @@ async def async_binding_operation(zha_gateway, source_ieee, target_ieee, operati
|
||||
res = await asyncio.gather(*(t[0] for t in bind_tasks), return_exceptions=True)
|
||||
for outcome, log_msg in zip(res, bind_tasks):
|
||||
if isinstance(outcome, Exception):
|
||||
fmt = log_msg[1] + " failed: %s"
|
||||
fmt = f"{log_msg[1]} failed: %s"
|
||||
else:
|
||||
fmt = log_msg[1] + " completed: %s"
|
||||
fmt = f"{log_msg[1]} completed: %s"
|
||||
zdo.debug(fmt, *(log_msg[2] + (outcome,)))
|
||||
|
||||
|
||||
|
@ -625,9 +625,9 @@ class ZHADevice(LogMixin):
|
||||
res = await asyncio.gather(*(t[0] for t in tasks), return_exceptions=True)
|
||||
for outcome, log_msg in zip(res, tasks):
|
||||
if isinstance(outcome, Exception):
|
||||
fmt = log_msg[1] + " failed: %s"
|
||||
fmt = f"{log_msg[1]} failed: %s"
|
||||
else:
|
||||
fmt = log_msg[1] + " completed: %s"
|
||||
fmt = f"{log_msg[1]} completed: %s"
|
||||
zdo.debug(fmt, *(log_msg[2] + (outcome,)))
|
||||
|
||||
def log(self, level, msg, *args):
|
||||
|
@ -102,7 +102,7 @@ def explore_module(package, explore_children):
|
||||
if not hasattr(module, "__path__"):
|
||||
return found
|
||||
|
||||
for _, name, _ in pkgutil.iter_modules(module.__path__, package + "."):
|
||||
for _, name, _ in pkgutil.iter_modules(module.__path__, f"{package}."):
|
||||
found.append(name)
|
||||
|
||||
if explore_children:
|
||||
@ -169,10 +169,7 @@ def gather_requirements_from_manifests(errors, reqs):
|
||||
continue
|
||||
|
||||
process_requirements(
|
||||
errors,
|
||||
integration.requirements,
|
||||
f"homeassistant.components.{domain}",
|
||||
reqs,
|
||||
errors, integration.requirements, f"homeassistant.components.{domain}", reqs
|
||||
)
|
||||
|
||||
|
||||
|
@ -13,7 +13,7 @@ def explore_module(package):
|
||||
module = importlib.import_module(package)
|
||||
if not hasattr(module, "__path__"):
|
||||
return []
|
||||
for _, name, _ in pkgutil.iter_modules(module.__path__, package + "."):
|
||||
for _, name, _ in pkgutil.iter_modules(module.__path__, f"{package}."):
|
||||
yield name
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user