From 2fa96babded22840f2a7dad606f9fb1ee3261ca7 Mon Sep 17 00:00:00 2001 From: object-Object Date: Wed, 23 Aug 2023 08:10:10 -0400 Subject: [PATCH] Use SandboxedEnvironment --- doc/src/hexdoc/hexdoc.py | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/doc/src/hexdoc/hexdoc.py b/doc/src/hexdoc/hexdoc.py index 4e19bde8..97e6eea0 100644 --- a/doc/src/hexdoc/hexdoc.py +++ b/doc/src/hexdoc/hexdoc.py @@ -7,13 +7,8 @@ from dataclasses import dataclass from pathlib import Path from typing import Any, Self, Sequence -from jinja2 import ( - ChoiceLoader, - Environment, - FileSystemLoader, - PackageLoader, - StrictUndefined, -) +from jinja2 import ChoiceLoader, FileSystemLoader, PackageLoader, StrictUndefined +from jinja2.sandbox import SandboxedEnvironment from hexdoc.hexcasting.hex_book import HexContext from hexdoc.minecraft.i18n import I18n @@ -25,9 +20,6 @@ from hexdoc.utils.resource_loader import ModResourceLoader from .jinja_extensions import IncludeRawExtension, hexdoc_block, hexdoc_wrap -# TODO: enable -# from jinja2.sandbox import SandboxedEnvironment - def strip_empty_lines(text: str) -> str: return "\n".join(s for s in text.splitlines() if s.strip()) @@ -105,8 +97,7 @@ def main(args: Args | None = None) -> None: ) # set up Jinja environment - # TODO: SandboxedEnvironment - env = Environment( + env = SandboxedEnvironment( # search order: template_dirs, template_packages, built-in hexdoc templates loader=ChoiceLoader( [FileSystemLoader(props.template_dirs)]