Skip to content

Commit 66ff063

Browse files
committed
Implemented some valid Copilot suggestions.
1 parent 9e3ea1d commit 66ff063

File tree

1 file changed

+16
-21
lines changed

1 file changed

+16
-21
lines changed

custom_components/spook/ectoplasms/homeassistant/services/list_filtered_entities.py

Lines changed: 16 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
label_registry as lr,
1717
)
1818
from homeassistant.helpers.service import _load_services_file, async_set_service_schema
19-
from homeassistant.loader import async_get_integration
19+
from homeassistant.loader import IntegrationNotFound, async_get_integration
2020

2121
from ....services import AbstractSpookService
2222

@@ -63,7 +63,7 @@ async def _on_started_set_schema(self, _event: Event) -> None:
6363
integration = None
6464
try:
6565
integration = await async_get_integration(self.hass, d)
66-
except (LookupError, ValueError, RuntimeError): # pragma: no cover
66+
except IntegrationNotFound: # pragma: no cover
6767
integration = None
6868
if integration is not None and getattr(integration, "name", None):
6969
label = integration.name
@@ -123,13 +123,10 @@ def _collect_live_integration_domains(self) -> set[str]:
123123
platform = getattr(entry, "platform", None)
124124
if isinstance(platform, str) and platform:
125125
domains.add(platform)
126-
if hasattr(self.hass, "config_entries") and hasattr(
127-
self.hass.config_entries, "async_entries"
128-
):
129-
for cfg in self.hass.config_entries.async_entries(): # type: ignore[attr-defined]
130-
dom = getattr(cfg, "domain", None)
131-
if isinstance(dom, str) and dom:
132-
domains.add(dom)
126+
for cfg in self.hass.config_entries.async_entries():
127+
dom = getattr(cfg, "domain", None)
128+
if isinstance(dom, str) and dom:
129+
domains.add(dom)
133130
return domains
134131

135132
def _inject_integration_options(
@@ -333,10 +330,9 @@ def _get_integration_name(self, entity_entry: er.RegistryEntry) -> str | None:
333330
if not entity_entry.config_entry_id:
334331
return None
335332

336-
config_entries = self.hass.config_entries
337-
config_entry = None
338-
if hasattr(config_entries, "async_get_entry"):
339-
config_entry = config_entries.async_get_entry(entity_entry.config_entry_id)
333+
config_entry = self.hass.config_entries.async_get_entry(
334+
entity_entry.config_entry_id
335+
)
340336

341337
return config_entry.title if config_entry else None
342338

@@ -538,14 +534,13 @@ def _format_response(
538534
self, matching_entities: list[str | dict[str, Any]], limit: int
539535
) -> ServiceResponse:
540536
"""Format the final service response."""
541-
if matching_entities and isinstance(matching_entities[0], dict):
542-
dict_entities = [e for e in matching_entities if isinstance(e, dict)]
543-
dict_entities.sort(key=lambda entity: str(entity.get("entity_id", "")))
544-
matching_entities[:] = dict_entities
545-
else:
546-
string_entities = [e for e in matching_entities if isinstance(e, str)]
547-
string_entities.sort()
548-
matching_entities[:] = string_entities
537+
if matching_entities:
538+
if isinstance(matching_entities[0], dict):
539+
matching_entities.sort(
540+
key=lambda entity: str(entity.get("entity_id", ""))
541+
)
542+
else:
543+
matching_entities.sort()
549544

550545
# Apply limit post-sort for deterministic results
551546
if limit is not None:

0 commit comments

Comments
 (0)