Skip to content

Commit 9306282

Browse files
committed
fix: return self for classmethods of roborockmodeenum
1 parent d593baa commit 9306282

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

roborock/data/code_mappings.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import logging
44
from collections import namedtuple
55
from enum import Enum, IntEnum, StrEnum
6+
from typing import Self
67

78
_LOGGER = logging.getLogger(__name__)
89
completed_warnings = set()
@@ -56,30 +57,30 @@ class RoborockModeEnum(StrEnum):
5657

5758
code: int
5859

59-
def __new__(cls, value: str, code: int) -> RoborockModeEnum:
60+
def __new__(cls, value: str, code: int) -> Self:
6061
"""Creates a new enum member."""
6162
member = str.__new__(cls, value)
6263
member._value_ = value
6364
member.code = code
6465
return member
6566

6667
@classmethod
67-
def from_code(cls, code: int) -> RoborockModeEnum:
68+
def from_code(cls, code: int) -> Self:
6869
for member in cls:
6970
if member.code == code:
7071
return member
7172
raise ValueError(f"{code} is not a valid code for {cls.__name__}")
7273

7374
@classmethod
74-
def from_value(cls, value: str) -> RoborockModeEnum:
75+
def from_value(cls, value: str) -> Self:
7576
"""Find enum member by string value (case-insensitive)."""
7677
for member in cls:
7778
if member.value.lower() == value.lower():
7879
return member
7980
raise ValueError(f"{value} is not a valid value for {cls.__name__}")
8081

8182
@classmethod
82-
def from_name(cls, name: str) -> RoborockModeEnum:
83+
def from_name(cls, name: str) -> Self:
8384
"""Find enum member by name (case-insensitive)."""
8485
for member in cls:
8586
if member.name.lower() == name.lower():

0 commit comments

Comments
 (0)