StrictDoc Documentation
strictdoc/features/trace/generator.py
Source file coverage
Path:
strictdoc/features/trace/generator.py
Lines:
42
Non-empty lines:
38
Non-empty lines covered with requirements:
38 / 38 (100.0%)
Functions:
2
Functions covered by requirements:
2 / 2 (100.0%)
1
"""
2
@relation(SDOC-SRS-65, scope=file)
3
"""
4
 
5
from markupsafe import Markup
6
 
7
from strictdoc.backend.sdoc.models.document import SDocDocument
8
from strictdoc.core.project_config import ProjectConfig
9
from strictdoc.core.traceability_index import TraceabilityIndex
10
from strictdoc.export.html.document_type import DocumentType
11
from strictdoc.export.html.generators.view_objects.document_screen_view_object import (
12
    DocumentScreenViewObject,
13
)
14
from strictdoc.export.html.html_templates import HTMLTemplates
15
from strictdoc.export.html.renderers.link_renderer import LinkRenderer
16
from strictdoc.export.html.renderers.markup_renderer import MarkupRenderer
17
from strictdoc.helpers.git_client import GitClient
18
 
19
 
20
class DocumentTraceHTMLGenerator:
21
    @staticmethod
22
    def export(
23
        *,
24
        project_config: ProjectConfig,
25
        document: SDocDocument,
26
        traceability_index: TraceabilityIndex,
27
        markup_renderer: MarkupRenderer,
28
        link_renderer: LinkRenderer,
29
        git_client: GitClient,
30
        html_templates: HTMLTemplates,
31
    ) -> Markup:
32
        view_object = DocumentScreenViewObject(
33
            document_type=DocumentType.TRACE,
34
            document=document,
35
            traceability_index=traceability_index,
36
            project_config=project_config,
37
            link_renderer=link_renderer,
38
            markup_renderer=markup_renderer,
39
            jinja_environment=html_templates.jinja_environment(),
40
            git_client=git_client,
41
        )
42
        return view_object.render_screen()