Coverage for /pythoncovmergedfiles/medio/medio/usr/local/lib/python3.8/site-packages/zmq/backend/select.py: 64%

11 statements  

« prev     ^ index     » next       coverage.py v7.2.7, created at 2023-07-01 06:54 +0000

1"""Import basic exposure of libzmq C API as a backend""" 

2 

3# Copyright (C) PyZMQ Developers 

4# Distributed under the terms of the Modified BSD License. 

5 

6from importlib import import_module 

7from typing import Dict 

8 

9public_api = [ 

10 'Context', 

11 'Socket', 

12 'Frame', 

13 'Message', 

14 'device', 

15 'proxy', 

16 'proxy_steerable', 

17 'zmq_poll', 

18 'strerror', 

19 'zmq_errno', 

20 'has', 

21 'curve_keypair', 

22 'curve_public', 

23 'zmq_version_info', 

24 'IPC_PATH_MAX_LEN', 

25] 

26 

27 

28def select_backend(name: str) -> Dict: 

29 """Select the pyzmq backend""" 

30 try: 

31 mod = import_module(name) 

32 except ImportError: 

33 raise 

34 except Exception as e: 

35 raise ImportError(f"Importing {name} failed with {e}") from e 

36 return {key: getattr(mod, key) for key in public_api}