diff --git a/src/pydase/components/device_connection.py b/src/pydase/components/device_connection.py index b7b648c..7816b80 100644 --- a/src/pydase/components/device_connection.py +++ b/src/pydase/components/device_connection.py @@ -1,7 +1,7 @@ import asyncio import pydase.data_service -import pydase.task +import pydase.task.decorator class DeviceConnection(pydase.data_service.DataService): @@ -70,7 +70,7 @@ class DeviceConnection(pydase.data_service.DataService): """ return self._connected - @pydase.task.task(autostart=True) + @pydase.task.decorator.task(autostart=True) async def _handle_connection(self) -> None: """Automatically tries reconnecting to the device if it is not connected. This method leverages the `connect` method and the `connected` property to diff --git a/src/pydase/task/__init__.py b/src/pydase/task/__init__.py index 69c7c2f..e69de29 100644 --- a/src/pydase/task/__init__.py +++ b/src/pydase/task/__init__.py @@ -1,3 +0,0 @@ -from pydase.task.decorator import task - -__all__ = ["task"] diff --git a/src/pydase/task/task.py b/src/pydase/task/task.py index ba14473..7f3ecac 100644 --- a/src/pydase/task/task.py +++ b/src/pydase/task/task.py @@ -3,7 +3,6 @@ import inspect import logging import sys from collections.abc import Callable, Coroutine -from enum import Enum from typing import ( Any, Generic, @@ -12,6 +11,8 @@ from typing import ( from typing_extensions import TypeIs +from pydase.task.task_status import TaskStatus + if sys.version_info < (3, 11): from typing_extensions import Self else: @@ -34,11 +35,6 @@ def is_bound_method( return inspect.ismethod(method) -class TaskStatus(Enum): - RUNNING = "running" - NOT_RUNNING = "not_running" - - class Task(pydase.data_service.data_service.DataService, Generic[R]): def __init__( self, diff --git a/src/pydase/task/task_status.py b/src/pydase/task/task_status.py new file mode 100644 index 0000000..9ddd3d2 --- /dev/null +++ b/src/pydase/task/task_status.py @@ -0,0 +1,6 @@ +import enum + + +class TaskStatus(enum.Enum): + RUNNING = "running" + NOT_RUNNING = "not_running" diff --git a/src/pydase/utils/serialization/serializer.py b/src/pydase/utils/serialization/serializer.py index 5d3a972..bb6c0d6 100644 --- a/src/pydase/utils/serialization/serializer.py +++ b/src/pydase/utils/serialization/serializer.py @@ -9,7 +9,7 @@ from typing import TYPE_CHECKING, Any, Literal, cast import pydase.units as u from pydase.data_service.abstract_data_service import AbstractDataService -from pydase.task.task import TaskStatus +from pydase.task.task_status import TaskStatus from pydase.utils.decorators import render_in_frontend from pydase.utils.helpers import ( get_attribute_doc, @@ -310,10 +310,6 @@ class Serializer: path = f"{access_path}.{key}" if access_path else key serialized_object = cls.serialize_object(val, access_path=path) - # If there's a running task for this method - if serialized_object["type"] == "method" and key in obj._task_manager.tasks: - serialized_object["value"] = TaskStatus.RUNNING.name - value[key] = serialized_object # If the DataService attribute is a property