remove jinja export feature

This commit is contained in:
Hayden 2025-07-04 12:25:29 -05:00
commit 903daab620
No known key found for this signature in database
GPG key ID: 17CF79474E257545
2 changed files with 1 additions and 42 deletions

View file

@ -2,8 +2,6 @@ import enum
from pathlib import Path from pathlib import Path
from zipfile import ZipFile from zipfile import ZipFile
from jinja2 import Template
from mealie.schema.recipe import Recipe from mealie.schema.recipe import Recipe
from mealie.schema.recipe.recipe_image_types import RecipeImageTypes from mealie.schema.recipe.recipe_image_types import RecipeImageTypes
from mealie.services._base_service import BaseService from mealie.services._base_service import BaseService
@ -11,7 +9,6 @@ from mealie.services._base_service import BaseService
class TemplateType(str, enum.Enum): class TemplateType(str, enum.Enum):
json = "json" json = "json"
jinja2 = "jinja2"
zip = "zip" zip = "zip"
@ -32,7 +29,6 @@ class TemplateService(BaseService):
Returns a list of all templates available to render. Returns a list of all templates available to render.
""" """
return { return {
TemplateType.jinja2.value: [x.name for x in self.directories.TEMPLATE_DIR.iterdir() if x.is_file()],
TemplateType.json.value: ["raw"], TemplateType.json.value: ["raw"],
TemplateType.zip.value: ["zip"], TemplateType.zip.value: ["zip"],
} }
@ -72,9 +68,6 @@ class TemplateService(BaseService):
if t_type == TemplateType.json: if t_type == TemplateType.json:
return self._render_json(recipe) return self._render_json(recipe)
if t_type == TemplateType.jinja2:
return self._render_jinja2(recipe, template)
if t_type == TemplateType.zip: if t_type == TemplateType.zip:
return self._render_zip(recipe) return self._render_zip(recipe)
@ -96,41 +89,8 @@ class TemplateService(BaseService):
return save_path return save_path
def _render_jinja2(self, recipe: Recipe, j2_template: str | None = None) -> Path:
"""
Renders a Jinja2 Template in a temporary directory and returns
the path to the file.
"""
self.__check_temp(self._render_jinja2)
if j2_template is None:
raise ValueError("Template must be provided for method _render_jinja2")
j2_path: Path = self.directories.TEMPLATE_DIR / j2_template
if not j2_path.is_file():
raise FileNotFoundError(f"Template '{j2_path}' not found.")
with open(j2_path) as f:
template_text = f.read()
template = Template(template_text)
rendered_text = template.render(recipe=recipe.model_dump(by_alias=True))
save_name = f"{recipe.slug}{j2_path.suffix}"
if self.temp is None:
raise ValueError("Temporary directory must be provided for method _render_jinja2")
save_path = self.temp.joinpath(save_name)
with open(save_path, "w") as f:
f.write(rendered_text)
return save_path
def _render_zip(self, recipe: Recipe) -> Path: def _render_zip(self, recipe: Recipe) -> Path:
self.__check_temp(self._render_jinja2) self.__check_temp(self._render_zip)
image_asset = recipe.image_dir.joinpath(RecipeImageTypes.original.value) image_asset = recipe.image_dir.joinpath(RecipeImageTypes.original.value)

View file

@ -3,6 +3,5 @@ from mealie.services.recipe.template_service import TemplateService, TemplateTyp
def test_recipe_export_types() -> None: def test_recipe_export_types() -> None:
ts = TemplateService() ts = TemplateService()
assert ts.template_type("recipes.md") == TemplateType.jinja2.value
assert ts.template_type("raw") == TemplateType.json.value assert ts.template_type("raw") == TemplateType.json.value
assert ts.template_type("zip") == TemplateType.zip.value assert ts.template_type("zip") == TemplateType.zip.value