Skip to content

Commit 1f1f910

Browse files
committed
DOP-1874: Ignore comment nodes in troff transform
1 parent c508c9b commit 1f1f910

File tree

1 file changed

+13
-1
lines changed

1 file changed

+13
-1
lines changed

snooty/builders/man.py

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import io
2+
import logging
23
from dataclasses import dataclass, field
34
from enum import Enum, auto
45
from typing import Dict, Iterable, List, Union, cast
@@ -7,6 +8,8 @@
78
from ..page import Page
89
from ..types import FileId
910

11+
logger = logging.getLogger(__name__)
12+
1013

1114
def troff_escape(value: str) -> str:
1215
"""Escape values that troff may interpret."""
@@ -201,7 +204,13 @@ class SnootyToTroffTree:
201204
"""Transforms snooty AST nodes to an intermediate representation of ManNodes."""
202205

203206
def handle(self, node: n.Node) -> List[ManNode]:
204-
return cast(List[ManNode], getattr(self, f"handle_{type(node).__name__}")(node))
207+
try:
208+
handler = getattr(self, f"handle_{type(node).__name__}")
209+
except AttributeError:
210+
logger.error("INTERNAL: Unknown node type: %s", type(node).__name__)
211+
return []
212+
213+
return cast(List[ManNode], handler(node))
205214

206215
def children(self, nodes: Iterable[n.Node]) -> List[ManNode]:
207216
list_of_lists = [self.handle(child) for child in nodes]
@@ -379,6 +388,9 @@ def handle_Transition(self, node: n.Transition) -> List[ManNode]:
379388
def handle_Table(self, node: n.Table) -> List[ManNode]:
380389
return []
381390

391+
def handle_Comment(self, node: n.Comment) -> List[ManNode]:
392+
return []
393+
382394

383395
def render(page: Page, name: str, title: str, section: int) -> Dict[FileId, str]:
384396
"""Render the given page as a manpage."""

0 commit comments

Comments
 (0)