Skip to content

Commit dbb8cd3

Browse files
committed
Bundle: Add suggestions from code review by CodeRabbit
1 parent 117fc43 commit dbb8cd3

File tree

2 files changed

+14
-5
lines changed

2 files changed

+14
-5
lines changed

src/cratedb_about/bundle/llmstxt.py

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
import dataclasses
22
import logging
33
import shutil
4-
import typing as t
54
from importlib import resources
65
from importlib.abc import Traversable
76
from pathlib import Path
87

98
from markdown import markdown
109

1110
from cratedb_about import CrateDbKnowledgeOutline
11+
from cratedb_about.outline import OutlineDocument
1212
from cratedb_about.util import get_hostname, get_now
1313

1414
logger = logging.getLogger(__name__)
@@ -17,12 +17,15 @@
1717
@dataclasses.dataclass
1818
class LllmsTxtBuilder:
1919
"""
20-
Build llms.txt files for CrateDB.
20+
Generate llms.txt files.
21+
22+
This is a base class intended to be subclassed. The non-init fields
23+
(outline, readme_md, outline_yaml) should be initialized by subclasses.
2124
"""
2225

2326
outline_url: str
2427
outdir: Path
25-
outline: t.Any = dataclasses.field(init=False)
28+
outline: OutlineDocument = dataclasses.field(init=False)
2629
readme_md: Traversable = dataclasses.field(init=False)
2730
outline_yaml: Traversable = dataclasses.field(init=False)
2831

@@ -71,13 +74,16 @@ def copy_sources(self):
7174
str(self.outline_yaml),
7275
self.outdir / "outline.yaml",
7376
)
74-
Path(self.outdir / "outline.html").write_text(self.outline.to_html())
77+
try:
78+
Path(self.outdir / "outline.html").write_text(self.outline.to_html())
79+
except Exception as e:
80+
logger.warning(f"Failed to generate HTML outline: {e}")
7581

7682

7783
@dataclasses.dataclass
7884
class CrateDbLllmsTxtBuilder(LllmsTxtBuilder):
7985
"""
80-
Build llms.txt files for CrateDB.
86+
Generate llms.txt files for CrateDB.
8187
"""
8288

8389
readme_md: Traversable = resources.files("cratedb_about.bundle") / "readme.md"

src/cratedb_about/outline/model.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,9 @@ def to_markdown(self) -> str:
8181
return buffer.getvalue().strip()
8282

8383
def to_html(self) -> str:
84+
"""
85+
Convert outline into HTML format using Markdown as an intermediate step.
86+
"""
8487
return markdown(self.to_markdown())
8588

8689
def to_llms_txt(self, optional: bool = False) -> str:

0 commit comments

Comments
 (0)