1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
"""Import basic exposure of libzmq C API as a backend"""
# Copyright (C) PyZMQ Developers
# Distributed under the terms of the Modified BSD License.
public_api = [
'Context',
'Socket',
'Frame',
'Message',
'Stopwatch',
'device',
'proxy',
'zmq_poll',
'strerror',
'zmq_errno',
'has',
'curve_keypair',
'constants',
'zmq_version_info',
'IPC_PATH_MAX_LEN',
]
def select_backend(name):
"""Select the pyzmq backend"""
try:
mod = __import__(name, fromlist=public_api)
except ImportError:
raise
except Exception as e:
import sys
from zmq.utils.sixcerpt import reraise
exc_info = sys.exc_info()
reraise(ImportError, ImportError("Importing %s failed with %s" % (name, e)), exc_info[2])
ns = {}
for key in public_api:
ns[key] = getattr(mod, key)
return ns
|