예제 #1
0
    def __init__(
        self,
        custom_templates_module: Optional[str] = None,
        header_markdown: Optional[NotebookTemplateConfig] = None,
        footer_markdown: Optional[NotebookTemplateConfig] = None,
        table_expectations_header_markdown: Optional[
            NotebookTemplateConfig] = None,
        column_expectations_header_markdown: Optional[
            NotebookTemplateConfig] = None,
        table_expectations_not_found_markdown: Optional[
            NotebookTemplateConfig] = None,
        column_expectations_not_found_markdown: Optional[
            NotebookTemplateConfig] = None,
        authoring_intro_markdown: Optional[NotebookTemplateConfig] = None,
        column_expectations_markdown: Optional[NotebookTemplateConfig] = None,
        header_code: Optional[NotebookTemplateConfig] = None,
        footer_code: Optional[NotebookTemplateConfig] = None,
        column_expectation_code: Optional[NotebookTemplateConfig] = None,
        table_expectation_code: Optional[NotebookTemplateConfig] = None,
        context: Optional[DataContext] = None,
    ) -> None:
        super().__init__()
        custom_loader = []

        if custom_templates_module:
            try:
                custom_loader = [
                    jinja2.PackageLoader(
                        *custom_templates_module.rsplit(".", 1))
                ]
            except ModuleNotFoundError as e:
                raise SuiteEditNotebookCustomTemplateModuleNotFoundError(
                    custom_templates_module) from e

        loaders = custom_loader + [
            jinja2.PackageLoader("great_expectations.render.notebook_assets",
                                 "suite_edit"),
        ]
        self.template_env = None

        self.template_env = jinja2.Environment(
            loader=jinja2.ChoiceLoader(loaders))

        self.header_markdown = header_markdown
        self.footer_markdown = footer_markdown
        self.table_expectations_header_markdown = table_expectations_header_markdown
        self.column_expectations_header_markdown = column_expectations_header_markdown
        self.table_expectations_not_found_markdown = (
            table_expectations_not_found_markdown)
        self.column_expectations_not_found_markdown = (
            column_expectations_not_found_markdown)
        self.authoring_intro_markdown = authoring_intro_markdown
        self.column_expectations_markdown = column_expectations_markdown

        self.header_code = header_code
        self.footer_code = footer_code
        self.column_expectation_code = column_expectation_code
        self.table_expectation_code = table_expectation_code
        self.context = context
    def __init__(
        self,
        custom_templates_module: Optional[str] = None,
        header_markdown: Optional[NotebookTemplateConfig] = None,
        footer_markdown: Optional[NotebookTemplateConfig] = None,
        table_expectations_header_markdown: Optional[NotebookTemplateConfig] = None,
        column_expectations_header_markdown: Optional[NotebookTemplateConfig] = None,
        table_expectations_not_found_markdown: Optional[NotebookTemplateConfig] = None,
        column_expectations_not_found_markdown: Optional[NotebookTemplateConfig] = None,
        authoring_intro_markdown: Optional[NotebookTemplateConfig] = None,
        column_expectations_markdown: Optional[NotebookTemplateConfig] = None,
        header_code: Optional[NotebookTemplateConfig] = None,
        footer_code: Optional[NotebookTemplateConfig] = None,
        table_expectation_code: Optional[NotebookTemplateConfig] = None,
        column_expectation_code: Optional[NotebookTemplateConfig] = None,
        context: Optional[DataContext] = None,
    ):
        super().__init__(context=context)
        custom_loader: list = []

        if custom_templates_module:
            try:
                path_info_list: List[str] = custom_templates_module.rsplit(".", 1)
                package_name: str = path_info_list[0]
                package_path: str = path_info_list[1]
                custom_loader: list = [
                    jinja2.PackageLoader(
                        package_name=package_name,
                        package_path=package_path,
                    ),
                ]
            except ModuleNotFoundError as e:
                raise SuiteEditNotebookCustomTemplateModuleNotFoundError(
                    custom_templates_module
                ) from e

        loaders: list = custom_loader + [
            jinja2.PackageLoader(
                package_name="great_expectations.render.v3.notebook_assets",
                package_path="suite_edit",
            ),
        ]
        self.template_env = None

        self.template_env = jinja2.Environment(
            loader=jinja2.ChoiceLoader(loaders=loaders)
        )

        self.header_markdown = header_markdown
        self.footer_markdown = footer_markdown
        self.table_expectations_header_markdown = table_expectations_header_markdown
        self.column_expectations_header_markdown = column_expectations_header_markdown
        self.table_expectations_not_found_markdown = (
            table_expectations_not_found_markdown
        )
        self.column_expectations_not_found_markdown = (
            column_expectations_not_found_markdown
        )
        self.authoring_intro_markdown = authoring_intro_markdown
        self.column_expectations_markdown = column_expectations_markdown

        self.header_code = header_code
        self.footer_code = footer_code
        self.column_expectation_code = column_expectation_code
        self.table_expectation_code = table_expectation_code