diff --git a/CHANGELOG.md b/CHANGELOG.md index 4e6d2269f56ad25431bd4f12161a0c2872bbe445..51934ab6b15dbd72e53d4338b446992e955e21a5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,4 @@ # v2.14.42 * added `terminating` property to `TerminableThread` +* added `Closeable.closed` diff --git a/satella/__init__.py b/satella/__init__.py index 5a7b59359371caea46c32af6d8e2cbfcb22e0142..3c298eaaeac1d7a66e272142299e817b3516dfce 100644 --- a/satella/__init__.py +++ b/satella/__init__.py @@ -1 +1 @@ -__version__ = '2.14.42a2' +__version__ = '2.14.42' diff --git a/satella/coding/misc.py b/satella/coding/misc.py index 5cfcd394f23a975b5413a68ba84f9ac7bfb939f2..1f3ff3f53f320875c91bd83f5d9e0114127e2629 100644 --- a/satella/coding/misc.py +++ b/satella/coding/misc.py @@ -66,6 +66,13 @@ class Closeable: def __init__(self): self.__finalized = False + @property + def closed(self) -> bool: + """ + :return: whether this object is closed + """ + return self.__finalized + def close(self) -> bool: """ Check if the resource needs cleanup, and clean up this resource. diff --git a/tests/test_coding/test_misc.py b/tests/test_coding/test_misc.py index 19f53ce79c49aa8a27e30c6f748c93f917d8047e..48a714921f0cee572ebd70f3f7ec8b8982a4498b 100644 --- a/tests/test_coding/test_misc.py +++ b/tests/test_coding/test_misc.py @@ -49,6 +49,7 @@ class TestCase(unittest.TestCase): a['test'] = True b = MyClose() + self.assertFalse(b.closed) del b gc.collect() self.assertTrue(a['test'])