Skip to content

Commit de68ff2

Browse files
committed
refactor(YXCleanType): simplify clean type definitions and remove legacy alias support
1 parent 7cceb1f commit de68ff2

File tree

2 files changed

+4
-40
lines changed

2 files changed

+4
-40
lines changed

roborock/data/b01_q10/b01_q10_code_mappings.py

Lines changed: 3 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
from typing import Self
2-
31
from ..code_mappings import RoborockModeEnum
42

53

@@ -157,29 +155,11 @@ class YXRoomMaterial(RoborockModeEnum):
157155
OTHER = "other", 255
158156

159157

160-
_YX_CLEAN_TYPE_LEGACY_VALUES: dict[str, str] = {
161-
"bothwork": "vac_and_mop",
162-
"onlysweep": "vacuum",
163-
"onlymop": "mop",
164-
}
165-
166-
167158
class YXCleanType(RoborockModeEnum):
168159
UNKNOWN = "unknown", -1
169-
VAC_AND_MOP = "vac_and_mop", 1
170-
VACUUM = "vacuum", 2
171-
MOP = "mop", 3
172-
173-
# Legacy aliases
174-
BOTH_WORK = VAC_AND_MOP
175-
ONLY_SWEEP = VACUUM
176-
ONLY_MOP = MOP
177-
178-
@classmethod
179-
def from_value(cls, value: str) -> Self:
180-
"""Find enum member by string value with legacy support."""
181-
normalized_value = _YX_CLEAN_TYPE_LEGACY_VALUES.get(value.lower(), value)
182-
return super().from_value(normalized_value)
160+
VAC_AND_MOP = "vac_and_mop", 1 # bothwork
161+
VACUUM = "vacuum", 2 # onlysweep
162+
MOP = "mop", 3 # onlymop
183163

184164

185165
class YXDeviceState(RoborockModeEnum):

tests/data/test_code_mappings.py

Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
import pytest
66

77
from roborock import HomeDataProduct, RoborockCategory
8-
from roborock.data.b01_q10.b01_q10_code_mappings import B01_Q10_DP, YXCleanType
8+
from roborock.data.b01_q10.b01_q10_code_mappings import B01_Q10_DP
99

1010

1111
def test_from_code() -> None:
@@ -52,22 +52,6 @@ def test_invalid_from_value() -> None:
5252
B01_Q10_DP.from_value("invalid_value")
5353

5454

55-
@pytest.mark.parametrize(
56-
("raw_value", "expected"),
57-
[
58-
("bothwork", YXCleanType.VAC_AND_MOP),
59-
("onlysweep", YXCleanType.VACUUM),
60-
("onlymop", YXCleanType.MOP),
61-
("BothWork", YXCleanType.VAC_AND_MOP),
62-
("ONLYSWEEP", YXCleanType.VACUUM),
63-
("OnlyMop", YXCleanType.MOP),
64-
],
65-
)
66-
def test_yxcleantype_from_value_legacy_aliases(raw_value: str, expected: YXCleanType) -> None:
67-
"""Ensure legacy clean type strings resolve to canonical enum members."""
68-
assert YXCleanType.from_value(raw_value) is expected
69-
70-
7155
@pytest.mark.parametrize(
7256
"input, expected",
7357
[

0 commit comments

Comments
 (0)