✘✘ GRAYBYTE WORDPRESS FILE MANAGER ✘✘

​🇳​​🇦​​🇲​​🇪♯➤ premium290.web-hosting.com ​🇻​♯➤ 4.18.0-553.45.1.lve.el8.x86_64 #1 SMP 🇾​♯➤ 2025

𝗛𝗢𝗠𝗘 𝗜𝗗 ♯➤ 63.250.38.37 ♯➤ 𝗔𝗗𝗠𝗜𝗡 𝗜𝗗 216.73.216.104
𝗢𝗣𝗧𝗜𝗢𝗡𝗦 ♯ CRL ♯➤ 𝗢𝗞 ┃ WGT ♯➤ 𝗢𝗞 ┃ SDO ♯➤ 𝗢𝗙𝗙 ┃ PKEX ♯➤ 𝗢𝗙𝗙
𝗗𝗘𝗔𝗖𝗧𝗜𝗩𝗔𝗧𝗘𝗗 ♯➤ 𝗔𝗟𝗟 𝗪𝗢𝗥𝗞𝗜𝗡𝗚....

𝗛𝗢𝗠𝗘
𝗖𝗨𝗥𝗥𝗘𝗡𝗧 𝗙𝗜𝗟𝗘 : /opt/cloudlinux/venv/lib/python3.11/site-packages/astroid/brain//brain_attrs.py
# Licensed under the LGPL: https://www.gnu.org/licenses/old-licenses/lgpl-2.1.en.html
# For details: https://github.com/PyCQA/astroid/blob/main/LICENSE
# Copyright (c) https://github.com/PyCQA/astroid/blob/main/CONTRIBUTORS.txt

"""
Astroid hook for the attrs library

Without this hook pylint reports unsupported-assignment-operation
for attrs classes
"""
from astroid.helpers import safe_infer
from astroid.manager import AstroidManager
from astroid.nodes.node_classes import AnnAssign, Assign, AssignName, Call, Unknown
from astroid.nodes.scoped_nodes import ClassDef

ATTRIB_NAMES = frozenset(
    ("attr.ib", "attrib", "attr.attrib", "attr.field", "attrs.field", "field")
)
ATTRS_NAMES = frozenset(
    (
        "attr.s",
        "attrs",
        "attr.attrs",
        "attr.attributes",
        "attr.define",
        "attr.mutable",
        "attr.frozen",
        "attrs.define",
        "attrs.mutable",
        "attrs.frozen",
    )
)


def is_decorated_with_attrs(node, decorator_names=ATTRS_NAMES) -> bool:
    """Return whether a decorated node has an attr decorator applied."""
    if not node.decorators:
        return False
    for decorator_attribute in node.decorators.nodes:
        if isinstance(decorator_attribute, Call):  # decorator with arguments
            decorator_attribute = decorator_attribute.func
        if decorator_attribute.as_string() in decorator_names:
            return True

        inferred = safe_infer(decorator_attribute)
        if inferred and inferred.root().name == "attr._next_gen":
            return True
    return False


def attr_attributes_transform(node: ClassDef) -> None:
    """Given that the ClassNode has an attr decorator,
    rewrite class attributes as instance attributes
    """
    # Astroid can't infer this attribute properly
    # Prevents https://github.com/PyCQA/pylint/issues/1884
    node.locals["__attrs_attrs__"] = [Unknown(parent=node)]

    for cdef_body_node in node.body:
        if not isinstance(cdef_body_node, (Assign, AnnAssign)):
            continue
        if isinstance(cdef_body_node.value, Call):
            if cdef_body_node.value.func.as_string() not in ATTRIB_NAMES:
                continue
        else:
            continue
        targets = (
            cdef_body_node.targets
            if hasattr(cdef_body_node, "targets")
            else [cdef_body_node.target]
        )
        for target in targets:
            rhs_node = Unknown(
                lineno=cdef_body_node.lineno,
                col_offset=cdef_body_node.col_offset,
                parent=cdef_body_node,
            )
            if isinstance(target, AssignName):
                # Could be a subscript if the code analysed is
                # i = Optional[str] = ""
                # See https://github.com/PyCQA/pylint/issues/4439
                node.locals[target.name] = [rhs_node]
                node.instance_attrs[target.name] = [rhs_node]


AstroidManager().register_transform(
    ClassDef, attr_attributes_transform, is_decorated_with_attrs
)


Current_dir [ 𝗡𝗢𝗧 𝗪𝗥𝗜𝗧𝗘𝗔𝗕𝗟𝗘 ] Document_root [ 𝗪𝗥𝗜𝗧𝗘𝗔𝗕𝗟𝗘 ]


[ Back ]
𝗡𝗔𝗠𝗘
𝗦𝗜𝗭𝗘
𝗟𝗔𝗦𝗧 𝗧𝗢𝗨𝗖𝗛
𝗨𝗦𝗘𝗥
𝗦𝗧𝗔𝗧𝗨𝗦
𝗙𝗨𝗡𝗖𝗧𝗜𝗢𝗡𝗦
..
--
11 Feb 2026 8.04 AM
root / root
0755
__pycache__
--
11 Feb 2026 8.04 AM
root / root
0755
__init__.py
0 KB
20 Jan 2026 1.01 PM
root / root
0644
brain_argparse.py
1.521 KB
20 Jan 2026 1.01 PM
root / root
0644
brain_attrs.py
2.967 KB
20 Jan 2026 1.01 PM
root / root
0644
brain_boto3.py
0.988 KB
20 Jan 2026 1.01 PM
root / root
0644
brain_builtin_inference.py
33.451 KB
20 Jan 2026 1.01 PM
root / root
0644
brain_collections.py
4.313 KB
20 Jan 2026 1.01 PM
root / root
0644
brain_crypt.py
0.843 KB
20 Jan 2026 1.01 PM
root / root
0644
brain_ctypes.py
2.598 KB
20 Jan 2026 1.01 PM
root / root
0644
brain_curses.py
3.396 KB
20 Jan 2026 1.01 PM
root / root
0644
brain_dataclasses.py
21.571 KB
20 Jan 2026 1.01 PM
root / root
0644
brain_dateutil.py
0.749 KB
20 Jan 2026 1.01 PM
root / root
0644
brain_fstrings.py
2.413 KB
20 Jan 2026 1.01 PM
root / root
0644
brain_functools.py
5.846 KB
20 Jan 2026 1.01 PM
root / root
0644
brain_gi.py
7.366 KB
20 Jan 2026 1.01 PM
root / root
0644
brain_hashlib.py
2.755 KB
20 Jan 2026 1.01 PM
root / root
0644
brain_http.py
10.391 KB
20 Jan 2026 1.01 PM
root / root
0644
brain_hypothesis.py
1.691 KB
20 Jan 2026 1.01 PM
root / root
0644
brain_io.py
1.49 KB
20 Jan 2026 1.01 PM
root / root
0644
brain_mechanize.py
2.584 KB
20 Jan 2026 1.01 PM
root / root
0644
brain_multiprocessing.py
3.136 KB
20 Jan 2026 1.01 PM
root / root
0644
brain_namedtuple_enum.py
22.192 KB
20 Jan 2026 1.01 PM
root / root
0644
brain_nose.py
2.266 KB
20 Jan 2026 1.01 PM
root / root
0644
brain_numpy_core_einsumfunc.py
0.806 KB
20 Jan 2026 1.01 PM
root / root
0644
brain_numpy_core_fromnumeric.py
0.715 KB
20 Jan 2026 1.01 PM
root / root
0644
brain_numpy_core_function_base.py
1.268 KB
20 Jan 2026 1.01 PM
root / root
0644
brain_numpy_core_multiarray.py
4.139 KB
20 Jan 2026 1.01 PM
root / root
0644
brain_numpy_core_numeric.py
1.591 KB
20 Jan 2026 1.01 PM
root / root
0644
brain_numpy_core_numerictypes.py
8.346 KB
20 Jan 2026 1.01 PM
root / root
0644
brain_numpy_core_umath.py
4.778 KB
20 Jan 2026 1.01 PM
root / root
0644
brain_numpy_ma.py
0.875 KB
20 Jan 2026 1.01 PM
root / root
0644
brain_numpy_ndarray.py
8.787 KB
20 Jan 2026 1.01 PM
root / root
0644
brain_numpy_random_mtrand.py
3.355 KB
20 Jan 2026 1.01 PM
root / root
0644
brain_numpy_utils.py
2.575 KB
20 Jan 2026 1.01 PM
root / root
0644
brain_pathlib.py
1.506 KB
20 Jan 2026 1.01 PM
root / root
0644
brain_pkg_resources.py
2.148 KB
20 Jan 2026 1.01 PM
root / root
0644
brain_pytest.py
2.171 KB
20 Jan 2026 1.01 PM
root / root
0644
brain_qt.py
2.742 KB
20 Jan 2026 1.01 PM
root / root
0644
brain_random.py
2.822 KB
20 Jan 2026 1.01 PM
root / root
0644
brain_re.py
2.803 KB
20 Jan 2026 1.01 PM
root / root
0644
brain_regex.py
3.283 KB
20 Jan 2026 1.01 PM
root / root
0644
brain_responses.py
1.824 KB
20 Jan 2026 1.01 PM
root / root
0644
brain_scipy_signal.py
2.223 KB
20 Jan 2026 1.01 PM
root / root
0644
brain_signal.py
3.789 KB
20 Jan 2026 1.01 PM
root / root
0644
brain_six.py
7.416 KB
20 Jan 2026 1.01 PM
root / root
0644
brain_sqlalchemy.py
0.985 KB
20 Jan 2026 1.01 PM
root / root
0644
brain_ssl.py
6.4 KB
20 Jan 2026 1.01 PM
root / root
0644
brain_subprocess.py
2.926 KB
20 Jan 2026 1.01 PM
root / root
0644
brain_threading.py
0.85 KB
20 Jan 2026 1.01 PM
root / root
0644
brain_type.py
2.425 KB
20 Jan 2026 1.01 PM
root / root
0644
brain_typing.py
13.979 KB
20 Jan 2026 1.01 PM
root / root
0644
brain_unittest.py
1.12 KB
20 Jan 2026 1.01 PM
root / root
0644
brain_uuid.py
0.651 KB
20 Jan 2026 1.01 PM
root / root
0644
helpers.py
0.887 KB
20 Jan 2026 1.01 PM
root / root
0644

✘✘ GRAYBYTE WORDPRESS FILE MANAGER @ 2026 CONTACT ME ✘✘
Static GIF Static GIF