Coverage for /pythoncovmergedfiles/medio/medio/usr/local/lib/python3.10/site-packages/astroid/brain/helpers.py: 91%

Shortcuts on this page

r m x   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

65 statements  

1# Licensed under the LGPL: https://www.gnu.org/licenses/old-licenses/lgpl-2.1.en.html 

2# For details: https://github.com/pylint-dev/astroid/blob/main/LICENSE 

3# Copyright (c) https://github.com/pylint-dev/astroid/blob/main/CONTRIBUTORS.txt 

4 

5from __future__ import annotations 

6 

7from collections.abc import Callable 

8 

9from astroid.manager import AstroidManager 

10from astroid.nodes.scoped_nodes import Module 

11 

12 

13def register_module_extender( 

14 manager: AstroidManager, module_name: str, get_extension_mod: Callable[[], Module] 

15) -> None: 

16 def transform(node: Module) -> None: 

17 extension_module = get_extension_mod() 

18 for name, objs in extension_module.locals.items(): 

19 node.locals[name] = objs 

20 for obj in objs: 

21 if obj.parent is extension_module: 

22 obj.parent = node 

23 

24 manager.register_transform(Module, transform, lambda n: n.name == module_name) 

25 

26 

27# pylint: disable-next=too-many-locals 

28def register_all_brains(manager: AstroidManager) -> None: 

29 from astroid.brain import ( # pylint: disable=import-outside-toplevel 

30 brain_argparse, 

31 brain_attrs, 

32 brain_boto3, 

33 brain_builtin_inference, 

34 brain_collections, 

35 brain_crypt, 

36 brain_ctypes, 

37 brain_curses, 

38 brain_dataclasses, 

39 brain_datetime, 

40 brain_dateutil, 

41 brain_functools, 

42 brain_gi, 

43 brain_hashlib, 

44 brain_http, 

45 brain_hypothesis, 

46 brain_io, 

47 brain_mechanize, 

48 brain_multiprocessing, 

49 brain_namedtuple_enum, 

50 brain_nose, 

51 brain_numpy_core_einsumfunc, 

52 brain_numpy_core_fromnumeric, 

53 brain_numpy_core_function_base, 

54 brain_numpy_core_multiarray, 

55 brain_numpy_core_numeric, 

56 brain_numpy_core_numerictypes, 

57 brain_numpy_core_umath, 

58 brain_numpy_ma, 

59 brain_numpy_ndarray, 

60 brain_numpy_random_mtrand, 

61 brain_pathlib, 

62 brain_pkg_resources, 

63 brain_pytest, 

64 brain_qt, 

65 brain_random, 

66 brain_re, 

67 brain_regex, 

68 brain_responses, 

69 brain_scipy_signal, 

70 brain_signal, 

71 brain_six, 

72 brain_sqlalchemy, 

73 brain_ssl, 

74 brain_subprocess, 

75 brain_threading, 

76 brain_type, 

77 brain_typing, 

78 brain_unittest, 

79 brain_uuid, 

80 ) 

81 

82 brain_argparse.register(manager) 

83 brain_attrs.register(manager) 

84 brain_boto3.register(manager) 

85 brain_builtin_inference.register(manager) 

86 brain_collections.register(manager) 

87 brain_crypt.register(manager) 

88 brain_ctypes.register(manager) 

89 brain_curses.register(manager) 

90 brain_dataclasses.register(manager) 

91 brain_datetime.register(manager) 

92 brain_dateutil.register(manager) 

93 brain_functools.register(manager) 

94 brain_gi.register(manager) 

95 brain_hashlib.register(manager) 

96 brain_http.register(manager) 

97 brain_hypothesis.register(manager) 

98 brain_io.register(manager) 

99 brain_mechanize.register(manager) 

100 brain_multiprocessing.register(manager) 

101 brain_namedtuple_enum.register(manager) 

102 brain_nose.register(manager) 

103 brain_numpy_core_einsumfunc.register(manager) 

104 brain_numpy_core_fromnumeric.register(manager) 

105 brain_numpy_core_function_base.register(manager) 

106 brain_numpy_core_multiarray.register(manager) 

107 brain_numpy_core_numerictypes.register(manager) 

108 brain_numpy_core_umath.register(manager) 

109 brain_numpy_random_mtrand.register(manager) 

110 brain_numpy_ma.register(manager) 

111 brain_numpy_ndarray.register(manager) 

112 brain_numpy_core_numeric.register(manager) 

113 brain_pathlib.register(manager) 

114 brain_pkg_resources.register(manager) 

115 brain_pytest.register(manager) 

116 brain_qt.register(manager) 

117 brain_random.register(manager) 

118 brain_re.register(manager) 

119 brain_regex.register(manager) 

120 brain_responses.register(manager) 

121 brain_scipy_signal.register(manager) 

122 brain_signal.register(manager) 

123 brain_six.register(manager) 

124 brain_sqlalchemy.register(manager) 

125 brain_ssl.register(manager) 

126 brain_subprocess.register(manager) 

127 brain_threading.register(manager) 

128 brain_type.register(manager) 

129 brain_typing.register(manager) 

130 brain_unittest.register(manager) 

131 brain_uuid.register(manager)