Documentation/sphinx/maintainers_include.py

Source file repositories/reference/linux-study-clean/Documentation/sphinx/maintainers_include.py

File Facts

System
Linux kernel
Corpus path
Documentation/sphinx/maintainers_include.py
Extension
.py
Size
13501 bytes
Lines
416
Domain
Support Tooling And Documentation
Bucket
Documentation
Inferred role
Support Tooling And Documentation: Documentation
Status
atlas-only

Why This File Exists

Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.

Dependency Surface

Detected Declarations

Annotated Snippet

function filterTable(table) {
    const filter = document.getElementById("filter-table").value.trim();
    const rows = table.querySelectorAll("tbody tr");
    for (let i = 0; i < rows.length; i++) {
      const tds = rows[i].getElementsByTagName("td");
      let match = false;
      for (let j = 0; j < tds.length; j++) {
        const cellText = (tds[j].textContent || tds[j].innerText);
        if (cellText.includes(filter)) {
          match = true;
          break;
        }
      }
      rows[i].style.display = match ? "table-row" : "none";
    }
  }
  function addInput() {
    const table = document.getElementById("maintainers-table");
    if (!table) return;
    let input = document.getElementById("filter-table");
    if (!input) {
      const filt_div = document.createElement('div');
      filt_div.innerHTML = `
        <p>Filter:
          <input type="search" id="filter-table" placeholder="search string"/>
          subsystem or property (case-sensitive)
        </p>
      `;
      table.parentNode.insertBefore(filt_div, table);
      const input = document.getElementById("filter-table")
      input.addEventListener('input', () => filterTable(table));
    }
  }
  if (document.readyState === 'loading') {
    document.addEventListener('DOMContentLoaded', addInput);
  } else {
    addInput();
  }
})();
"""


# Shamelessly stolen from docutils
def ErrorString(exc):  # pylint: disable=C0103, C0116
    return f"{exc.__class__.__name}: {exc}"  # pylint: disable=W0212

class MaintainersParser:
    """Parse MAINTAINERS file(s) content"""

    def __init__(self, base_dir, app_dir, path):
        self.path = path

        # Poor man's state machine.
        self.descriptions = False
        self.maintainers = False
        self.subsystems = False

        self.subsystem_name = None

        self.base_dir = base_dir
        self.app_dir = app_dir

        self.re_doc = re.compile(r'(Documentation/(\S*)\.rst)')

        #
        # Output variables with maintainers content to be stored
        #
        self.profile_toc = set()
        self.profile_entries = {}
        self.header = ""

Annotation

Implementation Notes