summaryrefslogtreecommitdiff
path: root/pylint/pyreverse/diadefslib.py
diff options
context:
space:
mode:
Diffstat (limited to 'pylint/pyreverse/diadefslib.py')
-rw-r--r--pylint/pyreverse/diadefslib.py17
1 files changed, 11 insertions, 6 deletions
diff --git a/pylint/pyreverse/diadefslib.py b/pylint/pyreverse/diadefslib.py
index 85b23052e..3b7694823 100644
--- a/pylint/pyreverse/diadefslib.py
+++ b/pylint/pyreverse/diadefslib.py
@@ -1,6 +1,6 @@
# Licensed under the GPL: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html
-# For details: https://github.com/PyCQA/pylint/blob/main/LICENSE
-# Copyright (c) https://github.com/PyCQA/pylint/blob/main/CONTRIBUTORS.txt
+# For details: https://github.com/pylint-dev/pylint/blob/main/LICENSE
+# Copyright (c) https://github.com/pylint-dev/pylint/blob/main/CONTRIBUTORS.txt
"""Handle diagram generation options for class diagram or default diagrams."""
@@ -12,6 +12,7 @@ from typing import Any
import astroid
from astroid import nodes
+from astroid.modutils import is_stdlib_module
from pylint.pyreverse.diagrams import ClassDiagram, PackageDiagram
from pylint.pyreverse.inspector import Linker, Project
@@ -67,10 +68,14 @@ class DiaDefGenerator:
return self.anc_level, self.association_level
def show_node(self, node: nodes.ClassDef) -> bool:
- """True if builtins and not show_builtins."""
- if self.config.show_builtin:
- return True
- return node.root().name != "builtins" # type: ignore[no-any-return]
+ """Determine if node should be shown based on config."""
+ if node.root().name == "builtins":
+ return self.config.show_builtin # type: ignore[no-any-return]
+
+ if is_stdlib_module(node.root().name):
+ return self.config.show_stdlib # type: ignore[no-any-return]
+
+ return True
def add_class(self, node: nodes.ClassDef) -> None:
"""Visit one class and add it to diagram."""