From b156cd2d5e830c7877589f710540467d77d8c90c Mon Sep 17 00:00:00 2001 From: bre-17387639 <425026+bre-17387639@users.noreply.github.com> Date: Tue, 6 Aug 2024 18:03:28 -0600 Subject: [PATCH] Fixes Pyright type errors for `src/flask/helpers.py` --- CHANGES.rst | 1 + src/flask/helpers.py | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGES.rst b/CHANGES.rst index 985c8a0d..e682c636 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -6,6 +6,7 @@ Version 3.1.0 - ``Flask.open_resource``/``open_instance_resource`` and ``Blueprint.open_resource`` take an ``encoding`` parameter to use when opening in text mode. It defaults to ``utf-8``. :issue:`5504` +- Fixes Pyright type errors in ``src/flask/helpers.py``. :issue:`5547` Version 3.0.3 ------------- diff --git a/src/flask/helpers.py b/src/flask/helpers.py index 00abe046..59d76946 100644 --- a/src/flask/helpers.py +++ b/src/flask/helpers.py @@ -1,5 +1,6 @@ from __future__ import annotations +import importlib.abc import importlib.util import os import sys @@ -586,7 +587,7 @@ def get_root_path(import_name: str) -> str: if loader is None: return os.getcwd() - if hasattr(loader, "get_filename"): + if isinstance(loader, (importlib.abc.FileLoader, importlib.abc.ExecutionLoader)): filepath = loader.get_filename(import_name) else: # Fall back to imports.