diff options
| author | Jonathan Corbet <corbet@lwn.net> | 2025-11-18 09:26:11 -0700 |
|---|---|---|
| committer | Jonathan Corbet <corbet@lwn.net> | 2025-11-18 09:26:11 -0700 |
| commit | 34a28245b6a5c4227b7122c0ff9b98d22b39f033 (patch) | |
| tree | 5f1e928a65d14b06b264b4c381b032acc1a6dbd3 /tools/lib/python/kdoc/kdoc_item.py | |
| parent | f690e07859e67505e7106ef5b4fae5e8b71b2109 (diff) | |
| parent | 992a9df41ad7173588bf90e15b33d45db2811aea (diff) | |
Merge branch 'python-modules' into docs-mw
scripts/lib was always a bit of an awkward place for Python libraries; give
them a proper home under tools/lib/python. Put the modules from
tools/docs/lib there for good measure.
The second patch ties them into a single package namespace. It would be
more aesthetically pleasing to add a kernel layer, so we could say:
from kernel.kdoc import kdoc_parser
...and have the kernel-specific stuff clearly marked, but that means adding
an empty directory in the hierarchy, which isn't as pleasing.
There are some other "Python library" directories hidden in the kernel
tree; we may eventually want to encourage them to move as well.
Diffstat (limited to 'tools/lib/python/kdoc/kdoc_item.py')
| -rw-r--r-- | tools/lib/python/kdoc/kdoc_item.py | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/tools/lib/python/kdoc/kdoc_item.py b/tools/lib/python/kdoc/kdoc_item.py new file mode 100644 index 000000000000..19805301cb2c --- /dev/null +++ b/tools/lib/python/kdoc/kdoc_item.py @@ -0,0 +1,43 @@ +# SPDX-License-Identifier: GPL-2.0 +# +# A class that will, eventually, encapsulate all of the parsed data that we +# then pass into the output modules. +# + +class KdocItem: + def __init__(self, name, fname, type, start_line, **other_stuff): + self.name = name + self.fname = fname + self.type = type + self.declaration_start_line = start_line + self.sections = {} + self.sections_start_lines = {} + self.parameterlist = [] + self.parameterdesc_start_lines = [] + self.parameterdescs = {} + self.parametertypes = {} + # + # Just save everything else into our own dict so that the output + # side can grab it directly as before. As we move things into more + # structured data, this will, hopefully, fade away. + # + self.other_stuff = other_stuff + + def get(self, key, default = None): + return self.other_stuff.get(key, default) + + def __getitem__(self, key): + return self.get(key) + + # + # Tracking of section and parameter information. + # + def set_sections(self, sections, start_lines): + self.sections = sections + self.section_start_lines = start_lines + + def set_params(self, names, descs, types, starts): + self.parameterlist = names + self.parameterdescs = descs + self.parametertypes = types + self.parameterdesc_start_lines = starts |
