From 18df9e288a95c88647ba9be8093c89ac68d1d9ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mose=20M=C3=BCller?= Date: Mon, 2 Dec 2024 14:08:51 +0100 Subject: [PATCH] client: replaces __del__ with __exit__ method to properly define ctx manager --- src/pydase/client/client.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/pydase/client/client.py b/src/pydase/client/client.py index 0fa860c..fdb4df9 100644 --- a/src/pydase/client/client.py +++ b/src/pydase/client/client.py @@ -3,6 +3,7 @@ import logging import sys import threading import urllib.parse +from types import TracebackType from typing import TYPE_CHECKING, Any, TypedDict, cast import socketio # type: ignore @@ -109,10 +110,14 @@ class Client: self.connect(block_until_connected=block_until_connected) def __enter__(self) -> Self: - self.connect(block_until_connected=True) return self - def __del__(self) -> None: + def __exit__( + self, + exc_type: type[BaseException] | None, + exc_val: BaseException | None, + exc_tb: TracebackType | None, + ) -> None: self.disconnect() def connect(self, block_until_connected: bool = True) -> None: