Skip to content

Commit db91d85

Browse files
authored
Merge pull request #234 from python-ellar/removed_jinja_validator
Removed jinja validator
2 parents 9f2451e + 47be682 commit db91d85

File tree

5 files changed

+12
-7
lines changed

5 files changed

+12
-7
lines changed

ellar/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
"""Ellar - Python ASGI web framework for building fast, efficient, and scalable RESTful APIs and server-side applications."""
22

3-
__version__ = "0.8.1"
3+
__version__ = "0.8.2"

ellar/common/templating/__init__.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
from starlette.templating import _TemplateResponse as TemplateResponse
22

33
from .environment import Environment
4-
from .loader import JinjaLoader, JinjaLoaderType
4+
from .loader import JinjaLoader
55
from .model import ModuleTemplating
66
from .renderer import (
77
render_template,
@@ -13,7 +13,6 @@
1313
"TemplateFunctionData",
1414
"Environment",
1515
"JinjaLoader",
16-
"JinjaLoaderType",
1716
"ModuleTemplating",
1817
"TemplateResponse",
1918
"render_template",

ellar/common/templating/loader.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
import typing as t
22

33
from ellar.pydantic import as_pydantic_validator
4+
from ellar.utils.importer import import_from_string
45
from jinja2 import TemplateNotFound
56
from jinja2.loaders import BaseLoader
6-
from uvicorn.importer import import_from_string
77

88
if t.TYPE_CHECKING: # pragma: no cover
99
from ellar.app.main import App

ellar/core/conf/app_settings_models.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,13 @@
1010
from ellar.common.interfaces import IAPIVersioning, IEllarMiddleware, IExceptionHandler
1111
from ellar.common.responses import JSONResponse, PlainTextResponse
1212
from ellar.common.serializer import Serializer, SerializerFilter
13-
from ellar.common.templating import JinjaLoaderType
1413
from ellar.common.types import ASGIApp, TReceive, TScope, TSend
1514
from ellar.core.conf.mixins import ConfigDefaultTypesMixin
1615
from ellar.di import ProviderConfig
1716
from ellar.di.injector.tree_manager import ModuleTreeManager
1817
from ellar.pydantic import ENCODERS_BY_TYPE as encoders_by_type
1918
from ellar.pydantic import AllowTypeOfSource, field_validator
19+
from jinja2 import BaseLoader
2020
from starlette.exceptions import HTTPException as StarletteHTTPException
2121
from starlette.middleware import Middleware
2222
from starlette.requests import HTTPConnection, Request
@@ -81,6 +81,12 @@
8181
)
8282
InterceptorType = Annotated[EllarInterceptor, _InterceptorValidator]
8383

84+
_JinjaLoaderValidator = AllowTypeOfSource(
85+
error_message=lambda source,
86+
value: f"Expected {BaseLoader} object, received: {type(value)}",
87+
)
88+
JinjaLoaderType = Annotated[BaseLoader, _JinjaLoaderValidator]
89+
8490

8591
async def _not_found(
8692
scope: TScope, receive: TReceive, send: TSend

ellar/core/conf/mixins.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33
from ellar.common import EllarInterceptor, GuardCanActivate
44
from ellar.common.constants import LOG_LEVELS as log_levels
55
from ellar.common.interfaces import IAPIVersioning, IEllarMiddleware, IExceptionHandler
6-
from ellar.common.templating import JinjaLoaderType
76
from ellar.di import ProviderConfig
87
from ellar.di.injector.tree_manager import ModuleTreeManager
8+
from jinja2 import BaseLoader
99
from starlette.requests import HTTPConnection, Request
1010
from starlette.responses import JSONResponse
1111
from starlette.types import ASGIApp
@@ -37,7 +37,7 @@ class ConfigDefaultTypesMixin:
3737
# https://jinja.palletsprojects.com/en/3.0.x/api/#high-level-api
3838
JINJA_TEMPLATES_OPTIONS: t.Dict[str, t.Any]
3939

40-
JINJA_LOADERS: t.List[t.Union[JinjaLoaderType, t.Any]]
40+
JINJA_LOADERS: t.List[BaseLoader]
4141

4242
TEMPLATES_CONTEXT_PROCESSORS: t.List[
4343
t.Callable[[t.Union[Request, HTTPConnection]], t.Dict[str, t.Any]]

0 commit comments

Comments
 (0)