Skip to content

archive

Classes

KiArchiveTransformer

Bases: SourceTransformer

Source code in src/kiara/renderers/included_renderers/archive.py
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
class KiArchiveTransformer(SourceTransformer):
    def __init__(self, kiara: "Kiara"):
        self._kiara: "Kiara" = kiara

        super().__init__()

    def retrieve_supported_python_classes(self) -> Iterable[Type]:
        return [KiArchive, str, Path]

    def retrieve_supported_inputs_descs(self) -> Union[str, Iterable[str]]:
        return [
            "a KiaraArchive instance",
            "a path to a a kiara archive file",
        ]

    def validate_and_transform(self, source: Any) -> Union["KiArchive", None]:
        if isinstance(source, (str, Path)):
            archive: Union[KiArchive, None] = KiArchive.load_kiarchive(
                kiara=self._kiara, path=source
            )
        elif isinstance(source, KiArchive):
            archive = source
        else:
            archive = None

        return archive

Functions

retrieve_supported_python_classes() -> Iterable[Type]
Source code in src/kiara/renderers/included_renderers/archive.py
33
34
def retrieve_supported_python_classes(self) -> Iterable[Type]:
    return [KiArchive, str, Path]
retrieve_supported_inputs_descs() -> Union[str, Iterable[str]]
Source code in src/kiara/renderers/included_renderers/archive.py
36
37
38
39
40
def retrieve_supported_inputs_descs(self) -> Union[str, Iterable[str]]:
    return [
        "a KiaraArchive instance",
        "a path to a a kiara archive file",
    ]
validate_and_transform(source: Any) -> Union[KiArchive, None]
Source code in src/kiara/renderers/included_renderers/archive.py
42
43
44
45
46
47
48
49
50
51
52
def validate_and_transform(self, source: Any) -> Union["KiArchive", None]:
    if isinstance(source, (str, Path)):
        archive: Union[KiArchive, None] = KiArchive.load_kiarchive(
            kiara=self._kiara, path=source
        )
    elif isinstance(source, KiArchive):
        archive = source
    else:
        archive = None

    return archive

ArchiveRendererHtml

Bases: BaseJinjaRenderer[Type[Pipeline], RenderInputsSchema]

Renders archive information as a static html page.

This is a placeholder for now.

Source code in src/kiara/renderers/included_renderers/archive.py
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
class ArchiveRendererHtml(BaseJinjaRenderer[Type[Pipeline], RenderInputsSchema]):
    """Renders archive information as a static html page.

    This is a placeholder for now.
    """

    _renderer_name = "archive_html"

    # _render_profiles: Mapping[str, Mapping[str, Any]] = {"html": {}}

    def retrieve_supported_render_sources(cls) -> str:
        return "archive"

    def retrieve_supported_render_targets(self) -> Union[Set[str], str]:
        return "html"

    def retrieve_source_transformers(self) -> Iterable[SourceTransformer]:
        return [KiArchiveTransformer(kiara=self._kiara)]

    def retrieve_jinja_env(self) -> JinjaEnv:
        jinja_env = JinjaEnv(template_base="kiara")
        return jinja_env

    def get_template(self, render_config: RenderInputsSchema) -> Template:
        return self.get_jinja_env().get_template("archive/static_page/page.html.j2")

    def assemble_render_inputs(
        self, instance: Any, render_config: RenderInputsSchema
    ) -> Mapping[str, Any]:
        inputs = {
            "archive": instance,
        }
        return inputs

Functions

retrieve_supported_render_sources() -> str
Source code in src/kiara/renderers/included_renderers/archive.py
65
66
def retrieve_supported_render_sources(cls) -> str:
    return "archive"
retrieve_supported_render_targets() -> Union[Set[str], str]
Source code in src/kiara/renderers/included_renderers/archive.py
68
69
def retrieve_supported_render_targets(self) -> Union[Set[str], str]:
    return "html"
retrieve_source_transformers() -> Iterable[SourceTransformer]
Source code in src/kiara/renderers/included_renderers/archive.py
71
72
def retrieve_source_transformers(self) -> Iterable[SourceTransformer]:
    return [KiArchiveTransformer(kiara=self._kiara)]
retrieve_jinja_env() -> JinjaEnv
Source code in src/kiara/renderers/included_renderers/archive.py
74
75
76
def retrieve_jinja_env(self) -> JinjaEnv:
    jinja_env = JinjaEnv(template_base="kiara")
    return jinja_env
get_template(render_config: RenderInputsSchema) -> Template
Source code in src/kiara/renderers/included_renderers/archive.py
78
79
def get_template(self, render_config: RenderInputsSchema) -> Template:
    return self.get_jinja_env().get_template("archive/static_page/page.html.j2")
assemble_render_inputs(instance: Any, render_config: RenderInputsSchema) -> Mapping[str, Any]
Source code in src/kiara/renderers/included_renderers/archive.py
81
82
83
84
85
86
87
def assemble_render_inputs(
    self, instance: Any, render_config: RenderInputsSchema
) -> Mapping[str, Any]:
    inputs = {
        "archive": instance,
    }
    return inputs