Path:
strictdoc/features/html2pdf/generator.py
Lines:
41
Non-empty lines:
37
Non-empty lines covered with requirements:
37 / 37 (100.0%)
Functions:
2
Functions covered by requirements:
2 / 2 (100.0%)
1
"""2
@relation(SDOC-SRS-51, 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 DocumentHTML2PDFGenerator:
21
@staticmethod22
def export(
23
project_config: ProjectConfig,
24
document: SDocDocument,
25
traceability_index: TraceabilityIndex,
26
markup_renderer: MarkupRenderer,
27
link_renderer: LinkRenderer,
28
git_client: GitClient,
29
html_templates: HTMLTemplates,
30
) -> Markup:
31
view_object = DocumentScreenViewObject(
32
document_type=DocumentType.PDF,
33
document=document,
34
traceability_index=traceability_index,
35
project_config=project_config,
36
link_renderer=link_renderer,
37
markup_renderer=markup_renderer,
38
jinja_environment=html_templates.jinja_environment(),
39
git_client=git_client,
40
)41
return view_object.render_screen()