Add ClassVar annotation for singleton patterns (#134135)

This commit is contained in:
Marc Mueller 2024-12-28 13:17:15 +01:00 committed by GitHub
parent cc80108629
commit d9f2140df3
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 5 additions and 5 deletions

View File

@ -5,7 +5,7 @@ from __future__ import annotations
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
@ -129,7 +129,7 @@ class ChromecastInfo:
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:

View File

@ -9,7 +9,7 @@ from datetime import datetime
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
@ -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)