diff options
author | Victor Stinner <victor.stinner@gmail.com> | 2014-07-11 00:51:31 +0200 |
---|---|---|
committer | Victor Stinner <victor.stinner@gmail.com> | 2014-07-11 00:51:31 +0200 |
commit | f408d92dc74bb2a367646813d5d6cc12d75afdfe (patch) | |
tree | 213f71e293a0cb359fa82c18f311bfb39b4c75f4 /trollius/events.py | |
parent | fe8d8afddce11fc28eb745bfcb73ef36246f5ab3 (diff) | |
parent | e65d26c8234754472393106ea015f5e8df5f8cef (diff) | |
download | trollius-f408d92dc74bb2a367646813d5d6cc12d75afdfe.tar.gz |
Merge Tulip into Trollius
Diffstat (limited to 'trollius/events.py')
-rw-r--r-- | trollius/events.py | 18 |
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): |