0
0
mirror of https://github.com/bec-project/bec_widgets.git synced 2025-07-13 19:21:50 +02:00

fix: check device class without importing to speed up initial import time

This commit is contained in:
2024-05-08 17:17:26 +02:00
parent d1e6cd388c
commit 9f8fbdd5fc

View File

@ -12,15 +12,16 @@ import uuid
from functools import wraps
from typing import TYPE_CHECKING
from bec_lib.device import DeviceBase
from bec_lib.endpoints import MessageEndpoints
from bec_lib.service_config import ServiceConfig
from bec_lib.utils.import_utils import lazy_import, lazy_import_from
from bec_lib.utils.import_utils import isinstance_based_on_class_name, lazy_import, lazy_import_from
from qtpy.QtCore import QCoreApplication
import bec_widgets.cli.client as client
if TYPE_CHECKING:
from bec_lib.device import DeviceBase
from bec_widgets.cli.client import BECDockArea, BECFigure
messages = lazy_import("bec_lib.messages")
@ -85,7 +86,7 @@ class BECGuiClientMixin:
@selected_device.setter
def selected_device(self, device: str | DeviceBase):
if isinstance(device, DeviceBase):
if isinstance_based_on_class_name(device, "bec_lib.device.DeviceBase"):
self._selected_device = device.name
elif isinstance(device, str):
self._selected_device = device