mirror of
https://github.com/home-assistant/core.git
synced 2025-07-22 20:57:21 +00:00
Use slots for discovery dataclasses (#90751)
This commit is contained in:
parent
bfea1367a7
commit
0cc9b2e803
@ -84,7 +84,7 @@ class BleBoxConfigFlow(config_entries.ConfigFlow, domain=DOMAIN):
|
||||
) -> FlowResult:
|
||||
"""Handle zeroconf discovery."""
|
||||
hass = self.hass
|
||||
ipaddress = host_port(discovery_info.__dict__)
|
||||
ipaddress = (discovery_info.host, discovery_info.port)
|
||||
self.device_config["host"] = discovery_info.host
|
||||
self.device_config["port"] = discovery_info.port
|
||||
|
||||
|
@ -77,7 +77,7 @@ SCAN_INTERVAL = timedelta(minutes=60)
|
||||
_LOGGER = logging.getLogger(__name__)
|
||||
|
||||
|
||||
@dataclass
|
||||
@dataclass(slots=True)
|
||||
class DhcpServiceInfo(BaseServiceInfo):
|
||||
"""Prepared info from dhcp entries."""
|
||||
|
||||
|
@ -22,7 +22,7 @@ from .handler import HassIO, HassioAPIError
|
||||
_LOGGER = logging.getLogger(__name__)
|
||||
|
||||
|
||||
@dataclass
|
||||
@dataclass(slots=True)
|
||||
class HassioServiceInfo(BaseServiceInfo):
|
||||
"""Prepared info from hassio entries."""
|
||||
|
||||
|
@ -106,42 +106,20 @@ PRIMARY_MATCH_KEYS = [
|
||||
_LOGGER = logging.getLogger(__name__)
|
||||
|
||||
|
||||
@dataclass
|
||||
class _HaServiceDescription:
|
||||
"""Keys added by HA."""
|
||||
|
||||
x_homeassistant_matching_domains: set[str] = field(default_factory=set)
|
||||
|
||||
|
||||
@dataclass
|
||||
class _SsdpServiceDescription:
|
||||
"""SSDP info with optional keys."""
|
||||
@dataclass(slots=True)
|
||||
class SsdpServiceInfo(BaseServiceInfo):
|
||||
"""Prepared info from ssdp/upnp entries."""
|
||||
|
||||
ssdp_usn: str
|
||||
ssdp_st: str
|
||||
upnp: Mapping[str, Any]
|
||||
ssdp_location: str | None = None
|
||||
ssdp_nt: str | None = None
|
||||
ssdp_udn: str | None = None
|
||||
ssdp_ext: str | None = None
|
||||
ssdp_server: str | None = None
|
||||
ssdp_headers: Mapping[str, Any] = field(default_factory=dict)
|
||||
|
||||
|
||||
@dataclass
|
||||
class _UpnpServiceDescription:
|
||||
"""UPnP info."""
|
||||
|
||||
upnp: Mapping[str, Any]
|
||||
|
||||
|
||||
@dataclass
|
||||
class SsdpServiceInfo(
|
||||
_HaServiceDescription,
|
||||
_SsdpServiceDescription,
|
||||
_UpnpServiceDescription,
|
||||
BaseServiceInfo,
|
||||
):
|
||||
"""Prepared info from ssdp/upnp entries."""
|
||||
x_homeassistant_matching_domains: set[str] = field(default_factory=set)
|
||||
|
||||
|
||||
SsdpChange = Enum("SsdpChange", "ALIVE BYEBYE UPDATE")
|
||||
|
@ -101,7 +101,7 @@ def async_is_plugged_in(hass: HomeAssistant, matcher: USBCallbackMatcher) -> boo
|
||||
)
|
||||
|
||||
|
||||
@dataclasses.dataclass
|
||||
@dataclasses.dataclass(slots=True)
|
||||
class UsbServiceInfo(BaseServiceInfo):
|
||||
"""Prepared info from usb entries."""
|
||||
|
||||
|
@ -97,7 +97,7 @@ CONFIG_SCHEMA = vol.Schema(
|
||||
)
|
||||
|
||||
|
||||
@dataclass
|
||||
@dataclass(slots=True)
|
||||
class ZeroconfServiceInfo(BaseServiceInfo):
|
||||
"""Prepared info from mDNS entries."""
|
||||
|
||||
|
@ -48,7 +48,7 @@ RESULT_TYPE_MENU = "menu"
|
||||
EVENT_DATA_ENTRY_FLOW_PROGRESSED = "data_entry_flow_progressed"
|
||||
|
||||
|
||||
@dataclass
|
||||
@dataclass(slots=True)
|
||||
class BaseServiceInfo:
|
||||
"""Base class for discovery ServiceInfo."""
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user