Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/sugar_network/toolkit/coroutine.py
diff options
context:
space:
mode:
authorAleksey Lim <alsroot@sugarlabs.org>2013-11-11 21:30:20 (GMT)
committer Aleksey Lim <alsroot@sugarlabs.org>2013-11-11 21:30:20 (GMT)
commit5b4263185727c05d39800d00b14930a132499125 (patch)
treebbff4e4d405aba31eca9d00a791edeb3792161f3 /sugar_network/toolkit/coroutine.py
parente36b897cd6cf7e52370479127aa85218f6269b51 (diff)
Commit node stats on exit
Diffstat (limited to 'sugar_network/toolkit/coroutine.py')
-rw-r--r--sugar_network/toolkit/coroutine.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/sugar_network/toolkit/coroutine.py b/sugar_network/toolkit/coroutine.py
index 1e73c0b..170f445 100644
--- a/sugar_network/toolkit/coroutine.py
+++ b/sugar_network/toolkit/coroutine.py
@@ -286,7 +286,9 @@ def _print_exception(context, klass, value, tb):
if issubclass(klass, self.NOT_ERROR + self.SYSTEM_ERROR):
return
+ import errno
import traceback
+
tb_repr = '\n'.join([i.rstrip()
for i in traceback.format_exception(klass, value, tb)][:-1])
del tb
@@ -306,7 +308,8 @@ def _print_exception(context, klass, value, tb):
(context_repr or context[:40] + '..', value)
logging_level = logging.getLogger().level
- if logging_level > logging.DEBUG:
+ if logging_level > logging.DEBUG or \
+ isinstance(value, IOError) and value.errno == errno.EPIPE:
_logger.error(error)
elif logging_level == logging.DEBUG:
_logger.error('\n'.join([error, tb_repr]))