Coverage for /pythoncovmergedfiles/medio/medio/usr/local/lib/python3.8/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
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
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
5from __future__ import annotations
7from collections.abc import Callable
9from astroid.manager import AstroidManager
10from astroid.nodes.scoped_nodes import Module
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
24 manager.register_transform(Module, transform, lambda n: n.name == module_name)
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_fstrings,
42 brain_functools,
43 brain_gi,
44 brain_hashlib,
45 brain_http,
46 brain_hypothesis,
47 brain_io,
48 brain_mechanize,
49 brain_multiprocessing,
50 brain_namedtuple_enum,
51 brain_nose,
52 brain_numpy_core_einsumfunc,
53 brain_numpy_core_fromnumeric,
54 brain_numpy_core_function_base,
55 brain_numpy_core_multiarray,
56 brain_numpy_core_numeric,
57 brain_numpy_core_numerictypes,
58 brain_numpy_core_umath,
59 brain_numpy_ma,
60 brain_numpy_ndarray,
61 brain_numpy_random_mtrand,
62 brain_pathlib,
63 brain_pkg_resources,
64 brain_pytest,
65 brain_qt,
66 brain_random,
67 brain_re,
68 brain_regex,
69 brain_responses,
70 brain_scipy_signal,
71 brain_signal,
72 brain_six,
73 brain_sqlalchemy,
74 brain_ssl,
75 brain_subprocess,
76 brain_threading,
77 brain_type,
78 brain_typing,
79 brain_unittest,
80 brain_uuid,
81 )
83 brain_argparse.register(manager)
84 brain_attrs.register(manager)
85 brain_boto3.register(manager)
86 brain_builtin_inference.register(manager)
87 brain_collections.register(manager)
88 brain_crypt.register(manager)
89 brain_ctypes.register(manager)
90 brain_curses.register(manager)
91 brain_dataclasses.register(manager)
92 brain_datetime.register(manager)
93 brain_dateutil.register(manager)
94 brain_fstrings.register(manager)
95 brain_functools.register(manager)
96 brain_gi.register(manager)
97 brain_hashlib.register(manager)
98 brain_http.register(manager)
99 brain_hypothesis.register(manager)
100 brain_io.register(manager)
101 brain_mechanize.register(manager)
102 brain_multiprocessing.register(manager)
103 brain_namedtuple_enum.register(manager)
104 brain_nose.register(manager)
105 brain_numpy_core_einsumfunc.register(manager)
106 brain_numpy_core_fromnumeric.register(manager)
107 brain_numpy_core_function_base.register(manager)
108 brain_numpy_core_multiarray.register(manager)
109 brain_numpy_core_numerictypes.register(manager)
110 brain_numpy_core_umath.register(manager)
111 brain_numpy_random_mtrand.register(manager)
112 brain_numpy_ma.register(manager)
113 brain_numpy_ndarray.register(manager)
114 brain_numpy_core_numeric.register(manager)
115 brain_pathlib.register(manager)
116 brain_pkg_resources.register(manager)
117 brain_pytest.register(manager)
118 brain_qt.register(manager)
119 brain_random.register(manager)
120 brain_re.register(manager)
121 brain_regex.register(manager)
122 brain_responses.register(manager)
123 brain_scipy_signal.register(manager)
124 brain_signal.register(manager)
125 brain_six.register(manager)
126 brain_sqlalchemy.register(manager)
127 brain_ssl.register(manager)
128 brain_subprocess.register(manager)
129 brain_threading.register(manager)
130 brain_type.register(manager)
131 brain_typing.register(manager)
132 brain_unittest.register(manager)
133 brain_uuid.register(manager)