diff --git a/example.py b/example.py index f0b8510..efe516f 100755 --- a/example.py +++ b/example.py @@ -35,7 +35,7 @@ def ls(client): def gen_mon(client, device_id): - """Monitor any other device but AC device, + """Monitor any other device but AC device, displaying generic information about its status. """ @@ -113,7 +113,7 @@ def mon(client, device_id): status. """ - device_class = client.get_device_class(device_id) + device_class = client.get_device_obj(device_id) if isinstance(device_class, wideq.ACDevice): ac_mon(device_class) else: diff --git a/wideq/client.py b/wideq/client.py index 76428f3..c14164d 100644 --- a/wideq/client.py +++ b/wideq/client.py @@ -10,7 +10,7 @@ import re from collections import namedtuple from typing import Any, Dict, Generator, List, Optional -from . import core +from . import core, util #: Represents an unknown enum value. @@ -139,23 +139,22 @@ class Client(object): return device return None - def get_device_class(self, device_id): + def get_device_obj(self, device_id): """Look up a subclass of Device object by device ID. Return a Device instance if no subclass exists for the device type. Return None if the device does not exist. """ - from . import util - deviceInfo = self.get_device(device_id) - if not deviceInfo: + device_info = self.get_device(device_id) + if not device_info: return None classes = util.device_classes() - if deviceInfo.type in classes: - return classes[deviceInfo.type](self, deviceInfo) + if device_info.type in classes: + return classes[device_info.type](self, device_info) LOGGER.debug('No specific subclass for deviceType %s, using default', - deviceInfo.type) - return Device(self, deviceInfo) + device_info.type) + return Device(self, device_info) @classmethod def load(cls, state: Dict[str, Any]) -> 'Client':