summaryrefslogtreecommitdiff
path: root/src/leap/bitmask/logs/safezmqhandler.py
diff options
context:
space:
mode:
authorKali Kaneko <kali@leap.se>2015-09-10 16:22:03 -0400
committerKali Kaneko <kali@leap.se>2015-09-10 16:54:52 -0400
commit580ad326c319113b85c85ce417e461acf15d36fe (patch)
treeff47eb0e31283838c76e03ddd72fcb3e987c9fb1 /src/leap/bitmask/logs/safezmqhandler.py
parentb9fe92fd9dfce3ac822adce62c4a1c9aeb8c663e (diff)
[bug] add compatibility for logbook versions < 0.7.0
for the version in ubuntu trusty, the call for the zeromq handler initialization gets one less argument
Diffstat (limited to 'src/leap/bitmask/logs/safezmqhandler.py')
-rw-r--r--src/leap/bitmask/logs/safezmqhandler.py11
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