Skip to content

Commit 01797f0

Browse files
[pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
1 parent a247eb4 commit 01797f0

File tree

4 files changed

+30
-17
lines changed

4 files changed

+30
-17
lines changed

pyproject.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,6 @@ readme = "README.md"
3636
requires-python = ">=3.9"
3737

3838
[project.optional-dependencies]
39-
jinja2 = [
40-
"jinja2",
41-
]
4239
docs = [
4340
"cogapp>=3.4.1",
4441
"furo>=2024.8.6",
@@ -49,6 +46,9 @@ docs = [
4946
"sphinx-copybutton>=0.5.2",
5047
"sphinx-inline-tabs>=2023.4.21"
5148
]
49+
jinja2 = [
50+
"jinja2"
51+
]
5252
tests = [
5353
"faker>=30.3.0",
5454
"model-bakery>=1.20.0",
Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,34 @@
1+
from __future__ import annotations
2+
13
from typing import cast
2-
from jinja2 import pass_context, Template, TemplateRuntimeError
3-
from jinja2.runtime import Context
4+
45
from django.utils.module_loading import import_string
6+
from jinja2 import Template
7+
from jinja2 import TemplateRuntimeError
8+
from jinja2 import pass_context
9+
from jinja2.runtime import Context
10+
511
from django_simple_nav.nav import Nav
612

713

814
@pass_context
9-
def django_simple_nav(context: Context, nav: str | Nav,
10-
template_name: str | None = None) -> str:
15+
def django_simple_nav(
16+
context: Context, nav: str | Nav, template_name: str | None = None
17+
) -> str:
1118
"""Jinja binding for `django_simple_nav`"""
1219
if (loader := context.environment.loader) is None:
13-
raise TemplateRuntimeError('No template loader in Jinja2 environment')
20+
raise TemplateRuntimeError("No template loader in Jinja2 environment")
1421

1522
if type(nav) is str:
1623
try:
1724
nav = import_string(nav)()
1825
except ImportError as err:
19-
raise TemplateRuntimeError(f'Variable does not exist: {err}')
26+
raise TemplateRuntimeError(f"Variable does not exist: {err}")
2027

2128
if template_name is None:
2229
template_name = cast(Nav, nav).template_name
2330
if template_name is None:
24-
raise TemplateRuntimeError('Navigation object has no template')
31+
raise TemplateRuntimeError("Navigation object has no template")
2532

2633
template: Template = loader.load(context.environment, template_name)
2734
return template.render(items=cast(Nav, nav).items)

tests/jinja2/environment.py

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
"""Sets up a reasonably minimal Jinja2 environment for testing"""
2-
from jinja2 import Environment, FileSystemLoader
3-
from django_simple_nav.jinja2.django_simple_nav import django_simple_nav
42

3+
from __future__ import annotations
4+
5+
from jinja2 import Environment
6+
from jinja2 import FileSystemLoader
7+
8+
from django_simple_nav.jinja2.django_simple_nav import django_simple_nav
59

6-
environment = Environment(
7-
loader=FileSystemLoader('tests/templates/tests/jinja2/')
8-
)
9-
environment.globals.update({'django_simple_nav': django_simple_nav})
10+
environment = Environment(loader=FileSystemLoader("tests/templates/tests/jinja2/"))
11+
environment.globals.update({"django_simple_nav": django_simple_nav})

tests/test_jinja.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,12 @@
1+
from __future__ import annotations
2+
13
from .jinja2.environment import environment
24

35

46
def test_derp():
57
"""Render the template"""
6-
template = environment.from_string('<p>{{ django_simple_nav("tests.navs.DummyNav", "dummy_nav.html") }}</p>')
8+
template = environment.from_string(
9+
'<p>{{ django_simple_nav("tests.navs.DummyNav", "dummy_nav.html") }}</p>'
10+
)
711
print(template.render(some_var=[1, 2, 3]))
812
assert True

0 commit comments

Comments
 (0)