From 9228c2d12c29c7e6a43d614c0190f318863712d8 Mon Sep 17 00:00:00 2001 From: Anthony Shaw Date: Sun, 26 Sep 2021 13:39:29 +1000 Subject: [PATCH 1/6] Update the Jinja2Templates() to allow PathLike --- starlette/templating.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/starlette/templating.py b/starlette/templating.py index 36f613fdf..1c03d24ad 100644 --- a/starlette/templating.py +++ b/starlette/templating.py @@ -1,3 +1,4 @@ +from os import PathLike import typing from starlette.background import BackgroundTask @@ -54,11 +55,11 @@ class Jinja2Templates: return templates.TemplateResponse("index.html", {"request": request}) """ - def __init__(self, directory: str) -> None: + def __init__(self, directory: PathLike[str]) -> None: assert jinja2 is not None, "jinja2 must be installed to use Jinja2Templates" self.env = self._create_env(directory) - def _create_env(self, directory: str) -> "jinja2.Environment": + def _create_env(self, directory: PathLike[str]) -> "jinja2.Environment": @pass_context def url_for(context: dict, name: str, **path_params: typing.Any) -> str: request = context["request"] From 021da405d1905359d6d5a29383983b8b50dab01b Mon Sep 17 00:00:00 2001 From: Anthony Shaw Date: Sun, 26 Sep 2021 13:50:24 +1000 Subject: [PATCH 2/6] Update templating.py --- starlette/templating.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/starlette/templating.py b/starlette/templating.py index 1c03d24ad..86f765db1 100644 --- a/starlette/templating.py +++ b/starlette/templating.py @@ -1,5 +1,6 @@ from os import PathLike import typing +from typing import Union from starlette.background import BackgroundTask from starlette.responses import Response @@ -55,11 +56,11 @@ class Jinja2Templates: return templates.TemplateResponse("index.html", {"request": request}) """ - def __init__(self, directory: PathLike[str]) -> None: + def __init__(self, directory: Union[str, PathLike]) -> None: assert jinja2 is not None, "jinja2 must be installed to use Jinja2Templates" self.env = self._create_env(directory) - def _create_env(self, directory: PathLike[str]) -> "jinja2.Environment": + def _create_env(self, directory: Union[str, PathLike]) -> "jinja2.Environment": @pass_context def url_for(context: dict, name: str, **path_params: typing.Any) -> str: request = context["request"] From 27f79964de688a1c253d23c27f9a1bcb1557bdbf Mon Sep 17 00:00:00 2001 From: Anthony Shaw Date: Mon, 27 Sep 2021 07:28:14 +1000 Subject: [PATCH 3/6] Update starlette/templating.py Co-authored-by: Marcelo Trylesinski --- starlette/templating.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/starlette/templating.py b/starlette/templating.py index 86f765db1..682a26d1e 100644 --- a/starlette/templating.py +++ b/starlette/templating.py @@ -56,7 +56,7 @@ class Jinja2Templates: return templates.TemplateResponse("index.html", {"request": request}) """ - def __init__(self, directory: Union[str, PathLike]) -> None: + def __init__(self, directory: typing.Union[str, PathLike]) -> None: assert jinja2 is not None, "jinja2 must be installed to use Jinja2Templates" self.env = self._create_env(directory) From feecca7539cbc00db0ac57375104d5152d562b48 Mon Sep 17 00:00:00 2001 From: Anthony Shaw Date: Mon, 27 Sep 2021 07:28:31 +1000 Subject: [PATCH 4/6] Update starlette/templating.py Co-authored-by: Marcelo Trylesinski --- starlette/templating.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/starlette/templating.py b/starlette/templating.py index 682a26d1e..ae534899a 100644 --- a/starlette/templating.py +++ b/starlette/templating.py @@ -60,7 +60,7 @@ def __init__(self, directory: typing.Union[str, PathLike]) -> None: assert jinja2 is not None, "jinja2 must be installed to use Jinja2Templates" self.env = self._create_env(directory) - def _create_env(self, directory: Union[str, PathLike]) -> "jinja2.Environment": + def _create_env(self, directory: typing.Union[str, PathLike]) -> "jinja2.Environment": @pass_context def url_for(context: dict, name: str, **path_params: typing.Any) -> str: request = context["request"] From 2f0314d5c6b334f70521121bf0729f45616405fb Mon Sep 17 00:00:00 2001 From: Anthony Shaw Date: Mon, 27 Sep 2021 07:28:44 +1000 Subject: [PATCH 5/6] Update starlette/templating.py Co-authored-by: Marcelo Trylesinski --- starlette/templating.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/starlette/templating.py b/starlette/templating.py index ae534899a..86f8bc85b 100644 --- a/starlette/templating.py +++ b/starlette/templating.py @@ -1,6 +1,5 @@ -from os import PathLike import typing -from typing import Union +from os import PathLike from starlette.background import BackgroundTask from starlette.responses import Response From 9805ce1dd35dcb85a2d799da36fb2ea63b47bfb8 Mon Sep 17 00:00:00 2001 From: Marcelo Trylesinski Date: Sun, 26 Sep 2021 23:43:10 +0200 Subject: [PATCH 6/6] Update starlette/templating.py --- starlette/templating.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/starlette/templating.py b/starlette/templating.py index 86f8bc85b..18d5eb40c 100644 --- a/starlette/templating.py +++ b/starlette/templating.py @@ -59,7 +59,9 @@ def __init__(self, directory: typing.Union[str, PathLike]) -> None: assert jinja2 is not None, "jinja2 must be installed to use Jinja2Templates" self.env = self._create_env(directory) - def _create_env(self, directory: typing.Union[str, PathLike]) -> "jinja2.Environment": + def _create_env( + self, directory: typing.Union[str, PathLike] + ) -> "jinja2.Environment": @pass_context def url_for(context: dict, name: str, **path_params: typing.Any) -> str: request = context["request"]