Skip to content

Commit

Permalink
Improve formatting in core files (home-assistant#135256)
Browse files Browse the repository at this point in the history
* Adjust core files formatting

* Adjust translations script
  • Loading branch information
epenet authored Jan 10, 2025
1 parent 823feae commit 5df7092
Show file tree
Hide file tree
Showing 20 changed files with 34 additions and 38 deletions.
2 changes: 1 addition & 1 deletion homeassistant/backup_restore.py
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ def _extract_backup(
Path(
tempdir,
"extracted",
f"homeassistant.tar{'.gz' if backup_meta["compressed"] else ''}",
f"homeassistant.tar{'.gz' if backup_meta['compressed'] else ''}",
),
gzip=backup_meta["compressed"],
key=password_to_key(restore_content.password)
Expand Down
5 changes: 1 addition & 4 deletions homeassistant/config_entries.py
Original file line number Diff line number Diff line change
Expand Up @@ -691,10 +691,7 @@ async def __async_setup_with_context(
self._tries += 1
ready_message = f"ready yet: {message}" if message else "ready yet"
_LOGGER.debug(
(
"Config entry '%s' for %s integration not %s; Retrying in %d"
" seconds"
),
"Config entry '%s' for %s integration not %s; Retrying in %d seconds",
self.title,
self.domain,
ready_message,
Expand Down
3 changes: 1 addition & 2 deletions homeassistant/core.py
Original file line number Diff line number Diff line change
Expand Up @@ -1153,8 +1153,7 @@ async def async_stop(self, exit_code: int = 0, *, force: bool = False) -> None:
await self.async_block_till_done()
except TimeoutError:
_LOGGER.warning(
"Timed out waiting for integrations to stop, the shutdown will"
" continue"
"Timed out waiting for integrations to stop, the shutdown will continue"
)
self._async_log_running_tasks("stop integrations")

Expand Down
2 changes: 1 addition & 1 deletion homeassistant/exceptions.py
Original file line number Diff line number Diff line change
Expand Up @@ -174,7 +174,7 @@ def output(self, indent: int) -> Generator[str]:
"""Yield an indented representation."""
if self.total > 1:
yield self._indent(
indent, f"In '{self.type}' (item {self.index+1} of {self.total}):"
indent, f"In '{self.type}' (item {self.index + 1} of {self.total}):"
)
else:
yield self._indent(indent, f"In '{self.type}':")
Expand Down
2 changes: 1 addition & 1 deletion homeassistant/helpers/dispatcher.py
Original file line number Diff line number Diff line change
Expand Up @@ -154,7 +154,7 @@ def _format_err[*_Ts](

return (
# Functions wrapped in partial do not have a __name__
f"Exception in {getattr(target, "__name__", None) or target} "
f"Exception in {getattr(target, '__name__', None) or target} "
f"when dispatching '{signal}': {args}"
)

Expand Down
4 changes: 2 additions & 2 deletions homeassistant/helpers/entity_registry.py
Original file line number Diff line number Diff line change
Expand Up @@ -666,7 +666,7 @@ def _validate_item(
# In HA Core 2025.10, we should fail if unique_id is not a string
report_issue = async_suggest_report_issue(hass, integration_domain=platform)
_LOGGER.error(
("'%s' from integration %s has a non string unique_id" " '%s', please %s"),
"'%s' from integration %s has a non string unique_id '%s', please %s",
domain,
platform,
unique_id,
Expand Down Expand Up @@ -799,7 +799,7 @@ def async_generate_entity_id(
tries += 1
len_suffix = len(str(tries)) + 1
test_string = (
f"{preferred_string[:MAX_LENGTH_STATE_ENTITY_ID-len_suffix]}_{tries}"
f"{preferred_string[: MAX_LENGTH_STATE_ENTITY_ID - len_suffix]}_{tries}"
)

return test_string
Expand Down
12 changes: 6 additions & 6 deletions homeassistant/helpers/script.py
Original file line number Diff line number Diff line change
Expand Up @@ -1770,7 +1770,7 @@ async def async_run(
f"{self.domain}.{self.name} which is already running "
"in the current execution path; "
"Traceback (most recent call last):\n"
f"{"\n".join(formatted_stack)}",
f"{'\n'.join(formatted_stack)}",
level=logging.WARNING,
)
return None
Expand Down Expand Up @@ -1834,7 +1834,7 @@ async def _async_get_condition(self, config: ConfigType) -> ConditionCheckerType

def _prep_repeat_script(self, step: int) -> Script:
action = self.sequence[step]
step_name = action.get(CONF_ALIAS, f"Repeat at step {step+1}")
step_name = action.get(CONF_ALIAS, f"Repeat at step {step + 1}")
sub_script = Script(
self._hass,
action[CONF_REPEAT][CONF_SEQUENCE],
Expand All @@ -1857,7 +1857,7 @@ def _get_repeat_script(self, step: int) -> Script:

async def _async_prep_choose_data(self, step: int) -> _ChooseData:
action = self.sequence[step]
step_name = action.get(CONF_ALIAS, f"Choose at step {step+1}")
step_name = action.get(CONF_ALIAS, f"Choose at step {step + 1}")
choices = []
for idx, choice in enumerate(action[CONF_CHOOSE], start=1):
conditions = [
Expand Down Expand Up @@ -1911,7 +1911,7 @@ async def _async_get_choose_data(self, step: int) -> _ChooseData:
async def _async_prep_if_data(self, step: int) -> _IfData:
"""Prepare data for an if statement."""
action = self.sequence[step]
step_name = action.get(CONF_ALIAS, f"If at step {step+1}")
step_name = action.get(CONF_ALIAS, f"If at step {step + 1}")

conditions = [
await self._async_get_condition(config) for config in action[CONF_IF]
Expand Down Expand Up @@ -1962,7 +1962,7 @@ async def _async_get_if_data(self, step: int) -> _IfData:

async def _async_prep_parallel_scripts(self, step: int) -> list[Script]:
action = self.sequence[step]
step_name = action.get(CONF_ALIAS, f"Parallel action at step {step+1}")
step_name = action.get(CONF_ALIAS, f"Parallel action at step {step + 1}")
parallel_scripts: list[Script] = []
for idx, parallel_script in enumerate(action[CONF_PARALLEL], start=1):
parallel_name = parallel_script.get(CONF_ALIAS, f"parallel {idx}")
Expand Down Expand Up @@ -1994,7 +1994,7 @@ async def _async_get_parallel_scripts(self, step: int) -> list[Script]:
async def _async_prep_sequence_script(self, step: int) -> Script:
"""Prepare a sequence script."""
action = self.sequence[step]
step_name = action.get(CONF_ALIAS, f"Sequence action at step {step+1}")
step_name = action.get(CONF_ALIAS, f"Sequence action at step {step + 1}")

sequence_script = Script(
self._hass,
Expand Down
3 changes: 1 addition & 2 deletions homeassistant/helpers/service.py
Original file line number Diff line number Diff line change
Expand Up @@ -133,8 +133,7 @@ def _validate_option_or_feature(option_or_feature: str, label: str) -> Any:
domain, enum, option = option_or_feature.split(".", 2)
except ValueError as exc:
raise vol.Invalid(
f"Invalid {label} '{option_or_feature}', expected "
"<domain>.<enum>.<member>"
f"Invalid {label} '{option_or_feature}', expected <domain>.<enum>.<member>"
) from exc

base_components = _base_components()
Expand Down
3 changes: 1 addition & 2 deletions homeassistant/loader.py
Original file line number Diff line number Diff line change
Expand Up @@ -1765,8 +1765,7 @@ def async_suggest_report_issue(
if not integration_domain:
return "report it to the custom integration author"
return (
f"report it to the author of the '{integration_domain}' "
"custom integration"
f"report it to the author of the '{integration_domain}' custom integration"
)

return f"create a bug report at {issue_tracker}"
3 changes: 2 additions & 1 deletion homeassistant/util/loop.py
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,8 @@ def raise_for_blocking_call(

if found_frame is None:
raise RuntimeError( # noqa: TRY200
f"Caught blocking call to {func.__name__} with args {mapped_args.get("args")} "
f"Caught blocking call to {func.__name__} "
f"with args {mapped_args.get('args')} "
f"in {offender_filename}, line {offender_lineno}: {offender_line} "
"inside the event loop; "
"This is causing stability issues. "
Expand Down
3 changes: 1 addition & 2 deletions script/hassfest/config_flow.py
Original file line number Diff line number Diff line change
Expand Up @@ -231,8 +231,7 @@ def validate(integrations: dict[str, Integration], config: Config) -> None:
if integrations_path.read_text() != content + "\n":
config.add_error(
"config_flow",
"File integrations.json is not up to date. "
"Run python3 -m script.hassfest",
"File integrations.json is not up to date. Run python3 -m script.hassfest",
fixable=True,
)

Expand Down
3 changes: 1 addition & 2 deletions script/hassfest/quality_scale_validation/discovery.py
Original file line number Diff line number Diff line change
Expand Up @@ -55,8 +55,7 @@ def validate(
config_flow = ast_parse_module(config_flow_file)
if not (_has_discovery_function(config_flow)):
return [
f"Integration is missing one of {CONFIG_FLOW_STEPS} "
f"in {config_flow_file}"
f"Integration is missing one of {CONFIG_FLOW_STEPS} in {config_flow_file}"
]

return None
11 changes: 7 additions & 4 deletions script/hassfest/translations.py
Original file line number Diff line number Diff line change
Expand Up @@ -510,8 +510,8 @@ def validate_translation_file( # noqa: C901
):
integration.add_error(
"translations",
"Don't specify title in translation strings if it's a brand "
"name or add exception to ALLOW_NAME_TRANSLATION",
"Don't specify title in translation strings if it's "
"a brand name or add exception to ALLOW_NAME_TRANSLATION",
)

if config.specific_integrations:
Expand All @@ -532,12 +532,15 @@ def validate_translation_file( # noqa: C901
if parts or key not in search:
integration.add_error(
"translations",
f"{reference['source']} contains invalid reference {reference['ref']}: Could not find {key}",
f"{reference['source']} contains invalid reference"
f"{reference['ref']}: Could not find {key}",
)
elif match := re.match(RE_REFERENCE, search[key]):
integration.add_error(
"translations",
f"Lokalise supports only one level of references: \"{reference['source']}\" should point to directly to \"{match.groups()[0]}\"",
"Lokalise supports only one level of references: "
f'"{reference["source"]}" should point to directly '
f'to "{match.groups()[0]}"',
)


Expand Down
2 changes: 1 addition & 1 deletion script/scaffold/gather_info.py
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ def gather_new_integration(determine_auth: bool) -> Info:
"prompt": (
f"""How will your integration gather data?
Valid values are {', '.join(SUPPORTED_IOT_CLASSES)}
Valid values are {", ".join(SUPPORTED_IOT_CLASSES)}
More info @ https://developers.home-assistant.io/docs/creating_integration_manifest#iot-class
"""
Expand Down
2 changes: 1 addition & 1 deletion script/split_tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ def create_ouput_file(self) -> None:
"""Create output file."""
with Path("pytest_buckets.txt").open("w") as file:
for idx, bucket in enumerate(self._buckets):
print(f"Bucket {idx+1} has {bucket.total_tests} tests")
print(f"Bucket {idx + 1} has {bucket.total_tests} tests")
file.write(bucket.get_paths_line())


Expand Down
2 changes: 1 addition & 1 deletion tests/components/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -777,7 +777,7 @@ async def _check_config_flow_result_translations(
translation_errors,
category,
integration,
f"{key_prefix}abort.{result["reason"]}",
f"{key_prefix}abort.{result['reason']}",
result["description_placeholders"],
)

Expand Down
2 changes: 1 addition & 1 deletion tests/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -580,7 +580,7 @@ def exc_handle(loop, context):
exceptions.append(
Exception(
"Received exception handler without exception, "
f"but with message: {context["message"]}"
f"but with message: {context['message']}"
)
)
orig_exception_handler(loop, context)
Expand Down
2 changes: 1 addition & 1 deletion tests/helpers/test_translation.py
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ def test_load_translations_files_by_language(
"name": "Other 4",
"unit_of_measurement": "quantities",
},
"outlet": {"name": "Outlet " "{placeholder}"},
"outlet": {"name": "Outlet {placeholder}"},
}
},
"something": "else",
Expand Down
2 changes: 1 addition & 1 deletion tests/syrupy.py
Original file line number Diff line number Diff line change
Expand Up @@ -376,7 +376,7 @@ def override_syrupy_finish(self: SnapshotSession) -> int:
with open(".pytest_syrupy_worker_count", "w", encoding="utf-8") as f:
f.write(os.getenv("PYTEST_XDIST_WORKER_COUNT"))
with open(
f".pytest_syrupy_{os.getenv("PYTEST_XDIST_WORKER")}_result",
f".pytest_syrupy_{os.getenv('PYTEST_XDIST_WORKER')}_result",
"w",
encoding="utf-8",
) as f:
Expand Down
4 changes: 2 additions & 2 deletions tests/test_config_entries.py
Original file line number Diff line number Diff line change
Expand Up @@ -7266,9 +7266,9 @@ async def test_unique_id_collision_issues(
mock_setup_entry = AsyncMock(return_value=True)
for i in range(3):
mock_integration(
hass, MockModule(f"test{i+1}", async_setup_entry=mock_setup_entry)
hass, MockModule(f"test{i + 1}", async_setup_entry=mock_setup_entry)
)
mock_platform(hass, f"test{i+1}.config_flow", None)
mock_platform(hass, f"test{i + 1}.config_flow", None)

test2_group_1: list[MockConfigEntry] = []
test2_group_2: list[MockConfigEntry] = []
Expand Down

0 comments on commit 5df7092

Please sign in to comment.