summaryrefslogtreecommitdiff
path: root/trollius/events.py
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@gmail.com>2014-07-11 00:51:31 +0200
committerVictor Stinner <victor.stinner@gmail.com>2014-07-11 00:51:31 +0200
commitf408d92dc74bb2a367646813d5d6cc12d75afdfe (patch)
tree213f71e293a0cb359fa82c18f311bfb39b4c75f4 /trollius/events.py
parentfe8d8afddce11fc28eb745bfcb73ef36246f5ab3 (diff)
parente65d26c8234754472393106ea015f5e8df5f8cef (diff)
downloadtrollius-f408d92dc74bb2a367646813d5d6cc12d75afdfe.tar.gz
Merge Tulip into Trollius
Diffstat (limited to 'trollius/events.py')
-rw-r--r--trollius/events.py18
1 files changed, 14 insertions, 4 deletions
diff --git a/trollius/events.py b/trollius/events.py
index b2fe57f..8eb3d94 100644
--- a/trollius/events.py
+++ b/trollius/events.py
@@ -91,14 +91,20 @@ class Handle(object):
self._source_traceback = None
def __repr__(self):
- info = []
+ info = [self.__class__.__name__]
if self._cancelled:
info.append('cancelled')
- info.append(_format_callback(self._callback, self._args))
- return '<%s %s>' % (self.__class__.__name__, ' '.join(info))
+ if self._callback is not None:
+ info.append(_format_callback(self._callback, self._args))
+ if self._source_traceback:
+ frame = self._source_traceback[-1]
+ info.append('created at %s:%s' % (frame[0], frame[1]))
+ return '<%s>' % ' '.join(info)
def cancel(self):
self._cancelled = True
+ self._callback = None
+ self._args = None
def _run(self):
try:
@@ -134,7 +140,11 @@ class TimerHandle(Handle):
if self._cancelled:
info.append('cancelled')
info.append('when=%s' % self._when)
- info.append(_format_callback(self._callback, self._args))
+ if self._callback is not None:
+ info.append(_format_callback(self._callback, self._args))
+ if self._source_traceback:
+ frame = self._source_traceback[-1]
+ info.append('created at %s:%s' % (frame[0], frame[1]))
return '<%s %s>' % (self.__class__.__name__, ' '.join(info))
def __hash__(self):