diff --git a/deebot_client/hardware/deebot/12baap.py b/deebot_client/hardware/deebot/12baap.py new file mode 120000 index 000000000..f6783707d --- /dev/null +++ b/deebot_client/hardware/deebot/12baap.py @@ -0,0 +1 @@ +7j1tu6.py \ No newline at end of file diff --git a/deebot_client/hardware/deebot/1b23du.py b/deebot_client/hardware/deebot/1b23du.py new file mode 120000 index 000000000..09394ca0c --- /dev/null +++ b/deebot_client/hardware/deebot/1b23du.py @@ -0,0 +1 @@ +1vxt52.py \ No newline at end of file diff --git a/deebot_client/hardware/deebot/36xnxf.py b/deebot_client/hardware/deebot/36xnxf.py new file mode 120000 index 000000000..0cf622fe1 --- /dev/null +++ b/deebot_client/hardware/deebot/36xnxf.py @@ -0,0 +1 @@ +ty84oi.py \ No newline at end of file diff --git a/deebot_client/hardware/deebot/3w7j5e.py b/deebot_client/hardware/deebot/3w7j5e.py new file mode 120000 index 000000000..4eeb339a3 --- /dev/null +++ b/deebot_client/hardware/deebot/3w7j5e.py @@ -0,0 +1 @@ +4vhygi.py \ No newline at end of file diff --git a/deebot_client/hardware/deebot/7piq03.py b/deebot_client/hardware/deebot/7piq03.py new file mode 120000 index 000000000..ee958842b --- /dev/null +++ b/deebot_client/hardware/deebot/7piq03.py @@ -0,0 +1 @@ +kr0277.py \ No newline at end of file diff --git a/deebot_client/hardware/deebot/822x8d.py b/deebot_client/hardware/deebot/822x8d.py new file mode 120000 index 000000000..0baf6cd51 --- /dev/null +++ b/deebot_client/hardware/deebot/822x8d.py @@ -0,0 +1 @@ +z4lvk7.py \ No newline at end of file diff --git a/deebot_client/hardware/deebot/c0lwyn.py b/deebot_client/hardware/deebot/c0lwyn.py new file mode 120000 index 000000000..f6783707d --- /dev/null +++ b/deebot_client/hardware/deebot/c0lwyn.py @@ -0,0 +1 @@ +7j1tu6.py \ No newline at end of file diff --git a/deebot_client/hardware/deebot/d4v1pm.py b/deebot_client/hardware/deebot/d4v1pm.py new file mode 120000 index 000000000..f6783707d --- /dev/null +++ b/deebot_client/hardware/deebot/d4v1pm.py @@ -0,0 +1 @@ +7j1tu6.py \ No newline at end of file diff --git a/deebot_client/hardware/deebot/edoodo.py b/deebot_client/hardware/deebot/edoodo.py new file mode 120000 index 000000000..ee958842b --- /dev/null +++ b/deebot_client/hardware/deebot/edoodo.py @@ -0,0 +1 @@ +kr0277.py \ No newline at end of file diff --git a/deebot_client/hardware/deebot/gwtll7.py b/deebot_client/hardware/deebot/gwtll7.py new file mode 120000 index 000000000..d32cee923 --- /dev/null +++ b/deebot_client/hardware/deebot/gwtll7.py @@ -0,0 +1 @@ +qhe2o2.py \ No newline at end of file diff --git a/deebot_client/hardware/deebot/lhbd50.py b/deebot_client/hardware/deebot/lhbd50.py new file mode 120000 index 000000000..dede194ca --- /dev/null +++ b/deebot_client/hardware/deebot/lhbd50.py @@ -0,0 +1 @@ +um2ywg.py \ No newline at end of file diff --git a/deebot_client/hardware/deebot/n6cwdb.py b/deebot_client/hardware/deebot/n6cwdb.py new file mode 120000 index 000000000..0cf622fe1 --- /dev/null +++ b/deebot_client/hardware/deebot/n6cwdb.py @@ -0,0 +1 @@ +ty84oi.py \ No newline at end of file diff --git a/deebot_client/hardware/deebot/nq9yhl.py b/deebot_client/hardware/deebot/nq9yhl.py new file mode 120000 index 000000000..f6783707d --- /dev/null +++ b/deebot_client/hardware/deebot/nq9yhl.py @@ -0,0 +1 @@ +7j1tu6.py \ No newline at end of file diff --git a/deebot_client/hardware/deebot/o0a4ju.py b/deebot_client/hardware/deebot/o0a4ju.py new file mode 120000 index 000000000..0489ef122 --- /dev/null +++ b/deebot_client/hardware/deebot/o0a4ju.py @@ -0,0 +1 @@ +lr4qcs.py \ No newline at end of file diff --git a/deebot_client/hardware/deebot/p0l0af.py b/deebot_client/hardware/deebot/p0l0af.py new file mode 120000 index 000000000..d32cee923 --- /dev/null +++ b/deebot_client/hardware/deebot/p0l0af.py @@ -0,0 +1 @@ +qhe2o2.py \ No newline at end of file diff --git a/deebot_client/hardware/deebot/r5y7re.py b/deebot_client/hardware/deebot/r5y7re.py new file mode 120000 index 000000000..0cf622fe1 --- /dev/null +++ b/deebot_client/hardware/deebot/r5y7re.py @@ -0,0 +1 @@ +ty84oi.py \ No newline at end of file diff --git a/deebot_client/hardware/deebot/rvflzn.py b/deebot_client/hardware/deebot/rvflzn.py new file mode 120000 index 000000000..0489ef122 --- /dev/null +++ b/deebot_client/hardware/deebot/rvflzn.py @@ -0,0 +1 @@ +lr4qcs.py \ No newline at end of file diff --git a/deebot_client/hardware/deebot/tlthqk.py b/deebot_client/hardware/deebot/tlthqk.py new file mode 120000 index 000000000..4eeb339a3 --- /dev/null +++ b/deebot_client/hardware/deebot/tlthqk.py @@ -0,0 +1 @@ +4vhygi.py \ No newline at end of file diff --git a/deebot_client/hardware/deebot/u4h1uk.py b/deebot_client/hardware/deebot/u4h1uk.py new file mode 120000 index 000000000..f6783707d --- /dev/null +++ b/deebot_client/hardware/deebot/u4h1uk.py @@ -0,0 +1 @@ +7j1tu6.py \ No newline at end of file diff --git a/deebot_client/hardware/deebot/u6eqoa.py b/deebot_client/hardware/deebot/u6eqoa.py new file mode 120000 index 000000000..f6783707d --- /dev/null +++ b/deebot_client/hardware/deebot/u6eqoa.py @@ -0,0 +1 @@ +7j1tu6.py \ No newline at end of file diff --git a/deebot_client/hardware/deebot/w7k3yc.py b/deebot_client/hardware/deebot/w7k3yc.py new file mode 120000 index 000000000..0489ef122 --- /dev/null +++ b/deebot_client/hardware/deebot/w7k3yc.py @@ -0,0 +1 @@ +lr4qcs.py \ No newline at end of file diff --git a/deebot_client/hardware/deebot/y2qy3m.py b/deebot_client/hardware/deebot/y2qy3m.py new file mode 120000 index 000000000..f6783707d --- /dev/null +++ b/deebot_client/hardware/deebot/y2qy3m.py @@ -0,0 +1 @@ +7j1tu6.py \ No newline at end of file diff --git a/deebot_client/hardware/deebot/yinacl.py b/deebot_client/hardware/deebot/yinacl.py new file mode 120000 index 000000000..ee958842b --- /dev/null +++ b/deebot_client/hardware/deebot/yinacl.py @@ -0,0 +1 @@ +kr0277.py \ No newline at end of file diff --git a/deebot_client/hardware/deebot/yu362x.py b/deebot_client/hardware/deebot/yu362x.py new file mode 120000 index 000000000..336ee24bc --- /dev/null +++ b/deebot_client/hardware/deebot/yu362x.py @@ -0,0 +1 @@ +snxbvc.py \ No newline at end of file diff --git a/tests/hardware/test_init.py b/tests/hardware/test_init.py index 509298539..f0a872363 100644 --- a/tests/hardware/test_init.py +++ b/tests/hardware/test_init.py @@ -2,6 +2,8 @@ from __future__ import annotations +import os +from pathlib import Path from typing import TYPE_CHECKING import pytest @@ -78,8 +80,7 @@ ) from deebot_client.events.network import NetworkInfoEvent from deebot_client.events.water_info import WaterInfoEvent -from deebot_client.hardware import get_static_device_info -from deebot_client.hardware.deebot import DEVICES, _load +from deebot_client.hardware import deebot as hardware_deebot, get_static_device_info if TYPE_CHECKING: from collections.abc import Callable @@ -93,7 +94,7 @@ ("class_", "expected"), [ ("not_specified", lambda: None), - ("yna5xi", lambda: DEVICES["yna5xi"]), + ("yna5xi", lambda: hardware_deebot.DEVICES["yna5xi"]), ], ) async def test_get_static_device_info( @@ -248,59 +249,12 @@ async def test_capabilities_event_extraction( def test_all_models_loaded() -> None: """Test that all models are loaded.""" - _load() - assert list(DEVICES) == [ - "0bdtzz", - "1vxt52", - "2ap5uq", - "2o4lnm", - "4vhygi", - "55aiho", - "5xu9h3", - "626v6g", - "659yh8", - "77atlz", - "7bryc5", - "7j1tu6", - "85as7h", - "85nbtp", - "8kwdb4", - "9ku8nu", - "9s1s80", - "b2jqs4", - "b742vd", - "clojes", - "e6ofmn", - "fqxoiu", - "guzput", - "h18jkh", - "ifbw08", - "ipohi5", - "itk04l", - "jtmf04", - "kr0277", - "lf3bn4", - "lr4qcs", - "lx3j7m", - "n4gstt", - "p1jij8", - "p95mgv", - "paeygf", - "py3qif", - "qhe2o2", - "r5zxjr", - "rss8xk", - "s69g6z", - "snxbvc", - "ty84oi", - "ucn2xe", - "um2ywg", - "umwv6z", - "vi829v", - "w16crm", - "x5d34r", - "yna5xi", - "z4lvk7", - "zjavof", - "zwkcqc", - ] + hardware_deebot._load() + folder = Path(hardware_deebot.__file__).parent + assert list(hardware_deebot.DEVICES) == sorted( + [ + name.removesuffix(".py") + for name in os.listdir(folder) + if (folder / name).is_file() and name != "__init__.py" + ] + )