diff options
Diffstat (limited to 'sugar_network/toolkit/coroutine.py')
-rw-r--r-- | sugar_network/toolkit/coroutine.py | 5 |
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])) |