From f082b1f68c0ed0cb6a91491c51dce4f1e6ed1530 Mon Sep 17 00:00:00 2001 From: hyukim17 Date: Tue, 20 Feb 2024 09:16:49 -0500 Subject: [PATCH] html title --- leda/gen/base.py | 3 ++- leda/gen/generators.py | 6 +++--- leda/gen/runners.py | 4 +++- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/leda/gen/base.py b/leda/gen/base.py index 9c38648..a9aa28d 100644 --- a/leda/gen/base.py +++ b/leda/gen/base.py @@ -20,6 +20,7 @@ class Report: name: str + html_title: str | None = None tag: str | None = None params: Mapping[str, Any] | None = None @@ -101,7 +102,7 @@ class ReportArtifact: @dataclasses.dataclass() class ReportGenerator: def generate( - self, nb_contents: nbformat.NotebookNode, nb_name: str | None = None + self, nb_contents: nbformat.NotebookNode, html_title: str | None = None ) -> bytes: raise NotImplementedError diff --git a/leda/gen/generators.py b/leda/gen/generators.py index ce4f77d..5871474 100644 --- a/leda/gen/generators.py +++ b/leda/gen/generators.py @@ -140,7 +140,7 @@ def _get_exporter_kwargs(self) -> dict: def generate( self, nb_contents: nbformat.NotebookNode, - nb_name: str | None = None, + html_title: str | None = None, ) -> bytes: logger.info("Generating notebook") preprocessor = self._get_preprocessor() @@ -154,9 +154,9 @@ def generate( body, _ = exporter.from_notebook_node(nb_contents) logger.info("Modifying HTML") - if nb_name: + if html_title: body = body.replace( - "Notebook", f"{nb_name}" + "Notebook", f"{html_title}" ) return body.encode(errors="ignore") diff --git a/leda/gen/runners.py b/leda/gen/runners.py index 7b2f36c..1131e0d 100644 --- a/leda/gen/runners.py +++ b/leda/gen/runners.py @@ -27,7 +27,9 @@ def run(self, report: leda.gen.base.Report) -> str | None: self.modifier.modify(nb_contents) - body = self.generator.generate(nb_contents, nb_name=report.name) + html_title = report.html_title if report.html_title else report.name + + body = self.generator.generate(nb_contents, html_title=html_title) artifact = leda.gen.base.ReportArtifact(body) return self.publisher.publish(report, artifact)