summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDavid Lord <davidism@gmail.com>2022-07-04 07:40:11 -0700
committerDavid Lord <davidism@gmail.com>2022-07-04 07:40:11 -0700
commit94fd2d9241410e6f7467ea02cf60e11f26133e31 (patch)
tree3cc77440abb346ba4a32ebdacc1bb42366f459c8 /src
parent0d177809e201db4592e7802d121142c7872688c2 (diff)
parente9cb0a5fb58c44cac8ccfb1f86536754c2c0e273 (diff)
downloadjinja2-94fd2d9241410e6f7467ea02cf60e11f26133e31.tar.gz
Merge branch '3.1.x'
Diffstat (limited to 'src')
-rw-r--r--src/jinja2/loaders.py34
1 files changed, 17 insertions, 17 deletions
diff --git a/src/jinja2/loaders.py b/src/jinja2/loaders.py
index d2f9809..caebf80 100644
--- a/src/jinja2/loaders.py
+++ b/src/jinja2/loaders.py
@@ -15,7 +15,6 @@ from types import ModuleType
from .exceptions import TemplateNotFound
from .utils import internalcode
-from .utils import open_if_exists
if t.TYPE_CHECKING:
from .environment import Environment
@@ -193,29 +192,30 @@ class FileSystemLoader(BaseLoader):
self, environment: "Environment", template: str
) -> t.Tuple[str, str, t.Callable[[], bool]]:
pieces = split_template_path(template)
+
for searchpath in self.searchpath:
# Use posixpath even on Windows to avoid "drive:" or UNC
# segments breaking out of the search directory.
filename = posixpath.join(searchpath, *pieces)
- f = open_if_exists(filename)
- if f is None:
- continue
- try:
- contents = f.read().decode(self.encoding)
- finally:
- f.close()
- mtime = os.path.getmtime(filename)
+ if os.path.isfile(filename):
+ break
+ else:
+ raise TemplateNotFound(template)
+
+ with open(filename, encoding=self.encoding) as f:
+ contents = f.read()
- def uptodate() -> bool:
- try:
- return os.path.getmtime(filename) == mtime
- except OSError:
- return False
+ mtime = os.path.getmtime(filename)
- # Use normpath to convert Windows altsep to sep.
- return contents, os.path.normpath(filename), uptodate
- raise TemplateNotFound(template)
+ def uptodate() -> bool:
+ try:
+ return os.path.getmtime(filename) == mtime
+ except OSError:
+ return False
+
+ # Use normpath to convert Windows altsep to sep.
+ return contents, os.path.normpath(filename), uptodate
def list_templates(self) -> t.List[str]:
found = set()