Skip to content

Commit

Permalink
Add ClassVar annotation for singleton patterns (#134135)
Browse files Browse the repository at this point in the history
  • Loading branch information
cdce8p authored Dec 28, 2024
1 parent cc80108 commit d9f2140
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 5 deletions.
4 changes: 2 additions & 2 deletions homeassistant/components/cast/helpers.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
import configparser
from dataclasses import dataclass
import logging
from typing import TYPE_CHECKING
from typing import TYPE_CHECKING, ClassVar
from urllib.parse import urlparse

import aiohttp
Expand Down Expand Up @@ -129,7 +129,7 @@ def fill_out_missing_chromecast_info(self, hass: HomeAssistant) -> ChromecastInf
class ChromeCastZeroconf:
"""Class to hold a zeroconf instance."""

__zconf: zeroconf.HaZeroconf | None = None
__zconf: ClassVar[zeroconf.HaZeroconf | None] = None

@classmethod
def set_zeroconf(cls, zconf: zeroconf.HaZeroconf) -> None:
Expand Down
6 changes: 3 additions & 3 deletions homeassistant/components/yeelight/scanner.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
from functools import partial
from ipaddress import IPv4Address
import logging
from typing import Self
from typing import ClassVar, Self
from urllib.parse import urlparse

from async_upnp_client.search import SsdpSearchListener
Expand Down Expand Up @@ -44,11 +44,11 @@ def _set_future_if_not_done(future: asyncio.Future[None]) -> None:
class YeelightScanner:
"""Scan for Yeelight devices."""

_scanner: Self | None = None
_scanner: ClassVar[Self | None] = None

@classmethod
@callback
def async_get(cls, hass: HomeAssistant) -> YeelightScanner:
def async_get(cls, hass: HomeAssistant) -> Self:
"""Get scanner instance."""
if cls._scanner is None:
cls._scanner = cls(hass)
Expand Down

0 comments on commit d9f2140

Please sign in to comment.