8000 Add asyncio.Handle.cancelled() method (#2388) · python/cpython@69cfed1 · GitHub
[go: up one dir, main page]

Skip to content

Commit 69cfed1

Browse files
decazasvetlov
authored andcommitted
Add asyncio.Handle.cancelled() method (#2388)
1 parent 088929c commit 69cfed1

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
@@ -2305,10 +2305,10 @@ def callback(*args):
23052305
h = asyncio.Handle(callback, args, self.loop)
23062306
self.assertIs(h._callback, callback)
23072307
self.assertIs(h._args, args)
2308-
self.assertFalse(h._cancelled)
2308+
self.assertFalse(h.cancelled())
23092309

23102310
h.cancel()
2311-
self.assertTrue(h._cancelled)
2311+
self.assertTrue(h.cancelled())
23122312

23132313
def test_callback_with_exception(self):
23142314
def callback():
@@ -2494,11 +2494,11 @@ def callback(*args):
24942494
h = asyncio.TimerHandle(when, callback, args, mock.Mock())
24952495
self.assertIs(h._callback, callback)
24962496
self.assertIs(h._args, args)
2497-
self.assertFalse(h._cancelled)
2497+
self.assertFalse(h.cancelled())
24982498

24992499
# cancel
25002500
h.cancel()
2501-
self.assertTrue(h._cancelled)
2501+
self.assertTrue(h.cancelled())
25022502
self.assertIsNone(h._callback)
25032503
self.assertIsNone(h._args)
25042504

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)
0