diff options
| -rw-r--r-- | src/leap/bitmask/logs/safezmqhandler.py | 11 | 
1 files changed, 9 insertions, 2 deletions
| diff --git a/src/leap/bitmask/logs/safezmqhandler.py b/src/leap/bitmask/logs/safezmqhandler.py index 4f7aca9b..4b3d26c7 100644 --- a/src/leap/bitmask/logs/safezmqhandler.py +++ b/src/leap/bitmask/logs/safezmqhandler.py @@ -19,9 +19,11 @@ A thread-safe zmq handler for LogBook.  """  import json  import threading +from distutils import LooseVersion  from logbook.queues import ZeroMQHandler  from logbook import NOTSET +from logbook import __version__ as LOGBOOK_VERSION  import zmq @@ -53,8 +55,13 @@ class SafeZMQHandler(ZeroMQHandler):          # instead of calling the ZeroMQHandler's one.          # The best approach may be to inherit directly from `logbook.Handler`. -        ZeroMQHandler.__init__(self, uri, level, filter, bubble, context, -                               multi) +        args = (self, uri, level, filter, bubble, context) + +        # Workaround for an API change: version 0.6.0 in trusty doesn't accepts +        # the multi parameter. +        if LooseVersion(LOGBOOK_VERSION) >= LooseVersion('0.7.0'): +            args += (multi,) +        ZeroMQHandler.__init__(*args)          current_id = self._get_caller_id()          # we store the socket created on the parent | 
