Skip to content

Commit 40798b0

Browse files
decazembray
authored andcommitted
Add asyncio.Handle.cancelled() method (python#2388)
1 parent f4bf551 commit 40798b0

File tree

4 files changed

+14
-4
lines changed

4 files changed

+14
-4
lines changed

Doc/library/asyncio-eventloop.rst

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -867,6 +867,12 @@ Handle
867867
Cancel the call. If the callback is already canceled or executed,
868868
this method has no effect.
869869

870+
.. method:: cancelled()
871+
872+
Return ``True`` if the call was cancelled.
873+
874+
.. versionadded:: 3.7
875+
870876

871877
Event loop examples
872878
-------------------

Lib/asyncio/events.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,9 @@ def cancel(self):
117117
self._callback = None
118118
self._args = None
119119

120+
def cancelled(self):
121+
return self._cancelled
122+
120123
def _run(self):
121124
try:
122125
self._callback(*self._args)

Lib/test/test_asyncio/test_events.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2310,10 +2310,10 @@ def callback(*args):
23102310
h = asyncio.Handle(callback, args, self.loop)
23112311
self.assertIs(h._callback, callback)
23122312
self.assertIs(h._args, args)
2313-
self.assertFalse(h._cancelled)
2313+
self.assertFalse(h.cancelled())
23142314

23152315
h.cancel()
2316-
self.assertTrue(h._cancelled)
2316+
self.assertTrue(h.cancelled())
23172317

23182318
def test_callback_with_exception(self):
23192319
def callback():
@@ -2499,11 +2499,11 @@ def callback(*args):
24992499
h = asyncio.TimerHandle(when, callback, args, mock.Mock())
25002500
self.assertIs(h._callback, callback)
25012501
self.assertIs(h._args, args)
2502-
self.assertFalse(h._cancelled)
2502+
self.assertFalse(h.cancelled())
25032503

25042504
# cancel
25052505
h.cancel()
2506-
self.assertTrue(h._cancelled)
2506+
self.assertTrue(h.cancelled())
25072507
self.assertIsNone(h._callback)
25082508
self.assertIsNone(h._args)
25092509

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Add a ``cancelled()`` method to :class:`asyncio.Handle`. Patch by Marat Sharafutdinov.

0 commit comments

Comments
 (0)