Skip to content

Commit deadd70

Browse files
committed
chore: add function to create field metadata
1 parent c5fe198 commit deadd70

File tree

1 file changed

+10
-8
lines changed

1 file changed

+10
-8
lines changed

roborock/data/v1/v1_containers.py

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -115,12 +115,16 @@ class StatusField(FieldNameBase):
115115
DRY_STATUS = "dry_status"
116116

117117

118+
def _requires_schema_code(requires_schema_code: str, default=None) -> Any:
119+
return field(metadata={"requires_schema_code": requires_schema_code}, default=default)
120+
121+
118122
@dataclass
119123
class Status(RoborockBase):
120124
msg_ver: int | None = None
121125
msg_seq: int | None = None
122-
state: RoborockStateCode | None = field(metadata={"requires_schema_code": "state"}, default=None)
123-
battery: int | None = field(metadata={"requires_schema_code": "battery"}, default=None)
126+
state: RoborockStateCode | None = _requires_schema_code("state", default=None)
127+
battery: int | None = _requires_schema_code("battery", default=None)
124128
clean_time: int | None = None
125129
clean_area: int | None = None
126130
error_code: RoborockErrorCode | None = None
@@ -133,14 +137,12 @@ class Status(RoborockBase):
133137
back_type: int | None = None
134138
wash_phase: int | None = None
135139
wash_ready: int | None = None
136-
fan_power: RoborockFanPowerCode | None = field(metadata={"requires_schema_code": "fan_power"}, default=None)
140+
fan_power: RoborockFanPowerCode | None = _requires_schema_code("fan_power", default=None)
137141
dnd_enabled: int | None = None
138142
map_status: int | None = None
139143
is_locating: int | None = None
140144
lock_status: int | None = None
141-
water_box_mode: RoborockMopIntensityCode | None = field(
142-
metadata={"requires_schema_code": "water_box_mode"}, default=None
143-
)
145+
water_box_mode: RoborockMopIntensityCode | None = _requires_schema_code("water_box_mode", default=None)
144146
water_box_carriage_status: int | None = None
145147
mop_forbidden_enable: int | None = None
146148
camera_status: int | None = None
@@ -158,13 +160,13 @@ class Status(RoborockBase):
158160
collision_avoid_status: int | None = None
159161
switch_map_mode: int | None = None
160162
dock_error_status: RoborockDockErrorCode | None = None
161-
charge_status: int | None = field(metadata={"requires_schema_code": "charge_status"}, default=None)
163+
charge_status: int | None = _requires_schema_code("charge_status", default=None)
162164
unsave_map_reason: int | None = None
163165
unsave_map_flag: int | None = None
164166
wash_status: int | None = None
165167
distance_off: int | None = None
166168
in_warmup: int | None = None
167-
dry_status: int | None = field(metadata={"requires_schema_code": "drying_status"}, default=None)
169+
dry_status: int | None = _requires_schema_code("drying_status", default=None)
168170
rdt: int | None = None
169171
clean_percent: int | None = None
170172
rss: int | None = None

0 commit comments

Comments
 (0)