48 """Parse ``# OCT-LINT: disable=<rule> [reason]`` comments from source.
50 Returns a dict mapping line numbers (1-based) to
51 ``{"rule": str, "reason": str|None}``.
53 waivers: dict[int, dict] = {}
54 for lineno, line
in enumerate(text.splitlines(), 1):
55 m = _WAIVER_RE.search(line)
57 reason = (m.group(
"reason")
or "").strip()
or None
58 waivers[lineno] = {
"rule": m.group(
"rule").lower(),
"reason": reason}