From ca0c8d9aa2e66abeb2ca4bbf433d22e34fcfb42e Mon Sep 17 00:00:00 2001 From: Jacek Galowicz Date: Thu, 16 Apr 2026 11:55:45 +0100 Subject: [PATCH] nixos-test-driver: Don't document internal methods prefixed with underscore --- nixos/lib/test-driver/src/extract-docstrings.py | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/nixos/lib/test-driver/src/extract-docstrings.py b/nixos/lib/test-driver/src/extract-docstrings.py index 767f0ca9fbec..ae261cb8486e 100644 --- a/nixos/lib/test-driver/src/extract-docstrings.py +++ b/nixos/lib/test-driver/src/extract-docstrings.py @@ -66,17 +66,20 @@ def function_docstrings(functions: list[ast.FunctionDef]) -> str | None: def machine_methods( class_name: str, class_definitions: list[ast.ClassDef] ) -> list[ast.FunctionDef]: - """Given a class name and a list of class definitions, returns the list of function definitions - for the class matching the given name. + """ + Given a class name and a list of class definitions, returns the list of + function definitions for the class matching the given name. """ machine_class = next(filter(lambda x: x.name == class_name, class_definitions)) assert machine_class is not None - function_definitions = [ - node for node in machine_class.body if isinstance(node, ast.FunctionDef) - ] - function_definitions.sort(key=lambda x: x.name) - return function_definitions + methods = [node for node in machine_class.body if isinstance(node, ast.FunctionDef)] + methods.sort(key=lambda x: x.name) + + # Do not document internal functions prefixed with underscore + methods = [m for m in methods if not m.name.startswith("_")] + + return methods def main() -> None: