From e47e0c787e718c7c848faaf5c60742133ce1658a Mon Sep 17 00:00:00 2001 From: Robert Resch Date: Mon, 28 Apr 2025 09:17:52 +0000 Subject: [PATCH] Remove duplicate code for COMMANDS_WITH_MQTT_P2P_HANDLING --- deebot_client/commands/__init__.py | 21 ++++++++++----------- deebot_client/commands/json/__init__.py | 10 ++-------- deebot_client/commands/xml/__init__.py | 10 ++-------- 3 files changed, 14 insertions(+), 27 deletions(-) diff --git a/deebot_client/commands/__init__.py b/deebot_client/commands/__init__.py index db326038e..3bea2d88a 100644 --- a/deebot_client/commands/__init__.py +++ b/deebot_client/commands/__init__.py @@ -5,19 +5,14 @@ from enum import IntEnum, unique from typing import TYPE_CHECKING +from deebot_client.command import CommandMqttP2P from deebot_client.const import DataType -from .json import ( - COMMANDS as JSON_COMMANDS, - COMMANDS_WITH_MQTT_P2P_HANDLING as JSON_COMMANDS_WITH_MQTT_P2P_HANDLING, -) -from .xml import ( - COMMANDS as XML_COMMANDS, - COMMANDS_WITH_MQTT_P2P_HANDLING as XML_COMMANDS_WITH_MQTT_P2P_HANDLING, -) +from .json import COMMANDS as JSON_COMMANDS +from .xml import COMMANDS as XML_COMMANDS if TYPE_CHECKING: - from deebot_client.command import Command, CommandMqttP2P + from deebot_client.command import Command COMMANDS: dict[DataType, dict[str, type[Command]]] = { DataType.JSON: JSON_COMMANDS, @@ -25,8 +20,12 @@ } COMMANDS_WITH_MQTT_P2P_HANDLING: dict[DataType, dict[str, type[CommandMqttP2P]]] = { - DataType.JSON: JSON_COMMANDS_WITH_MQTT_P2P_HANDLING, - DataType.XML: XML_COMMANDS_WITH_MQTT_P2P_HANDLING, + data_type: { + cmd_name: cmd + for (cmd_name, cmd) in commands.items() + if issubclass(cmd, CommandMqttP2P) + } + for data_type, commands in COMMANDS.items() } diff --git a/deebot_client/commands/json/__init__.py b/deebot_client/commands/json/__init__.py index d79166ff8..6f1db25f1 100644 --- a/deebot_client/commands/json/__init__.py +++ b/deebot_client/commands/json/__init__.py @@ -4,8 +4,6 @@ from typing import TYPE_CHECKING -from deebot_client.command import Command, CommandMqttP2P - from . import auto_empty, station_action, station_state from .advanced_mode import GetAdvancedMode, SetAdvancedMode from .battery import GetBattery @@ -52,6 +50,8 @@ from .work_mode import GetWorkMode, SetWorkMode if TYPE_CHECKING: + from deebot_client.command import Command + from .common import JsonCommand __all__ = [ @@ -241,9 +241,3 @@ # fmt: on COMMANDS: dict[str, type[Command]] = {cmd.NAME: cmd for cmd in _COMMANDS} - -COMMANDS_WITH_MQTT_P2P_HANDLING: dict[str, type[CommandMqttP2P]] = { - cmd_name: cmd - for (cmd_name, cmd) in COMMANDS.items() - if issubclass(cmd, CommandMqttP2P) -} diff --git a/deebot_client/commands/xml/__init__.py b/deebot_client/commands/xml/__init__.py index ec47efb66..df7488032 100644 --- a/deebot_client/commands/xml/__init__.py +++ b/deebot_client/commands/xml/__init__.py @@ -4,8 +4,6 @@ from typing import TYPE_CHECKING -from deebot_client.command import Command, CommandMqttP2P - from .battery import GetBatteryInfo from .charge import Charge from .charge_state import GetChargeState @@ -20,6 +18,8 @@ from .stats import GetCleanSum if TYPE_CHECKING: + from deebot_client.command import Command + from .common import XmlCommand __all__ = [ @@ -87,9 +87,3 @@ # fmt: on COMMANDS: dict[str, type[Command]] = {cmd.NAME: cmd for cmd in _COMMANDS} - -COMMANDS_WITH_MQTT_P2P_HANDLING: dict[str, type[CommandMqttP2P]] = { - cmd_name: cmd - for (cmd_name, cmd) in COMMANDS.items() - if issubclass(cmd, CommandMqttP2P) -}