From 60976ec69bef6456a1ea125eca869e03c8761438 Mon Sep 17 00:00:00 2001 From: Nicola Soranzo Date: Wed, 19 Jan 2022 18:15:34 +0000 Subject: [PATCH] Use `importlib.resources.files()` for ToolShed `config_schema.yml` --- lib/galaxy/config/__init__.py | 1 + lib/galaxy/webapps/base/webapp.py | 1 + lib/tool_shed/webapp/config.py | 8 +++++++- 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/lib/galaxy/config/__init__.py b/lib/galaxy/config/__init__.py index e68860eb977..59e42daecf8 100644 --- a/lib/galaxy/config/__init__.py +++ b/lib/galaxy/config/__init__.py @@ -65,6 +65,7 @@ from ..version import VERSION_MAJOR, VERSION_MINOR try: from importlib.resources import files # type: ignore[attr-defined] except ImportError: + # Python < 3.9 from importlib_resources import files # type: ignore[no-redef] if TYPE_CHECKING: diff --git a/lib/galaxy/webapps/base/webapp.py b/lib/galaxy/webapps/base/webapp.py index 79c2e954475..9a99007f1af 100644 --- a/lib/galaxy/webapps/base/webapp.py +++ b/lib/galaxy/webapps/base/webapp.py @@ -44,6 +44,7 @@ from galaxy.web_stack import get_app_kwds try: from importlib.resources import files # type: ignore[attr-defined] except ImportError: + # Python < 3.9 from importlib_resources import files # type: ignore[no-redef] log = logging.getLogger(__name__) diff --git a/lib/tool_shed/webapp/config.py b/lib/tool_shed/webapp/config.py index d1ad23d608b..094186b431b 100644 --- a/lib/tool_shed/webapp/config.py +++ b/lib/tool_shed/webapp/config.py @@ -18,10 +18,16 @@ from galaxy.util import string_as_bool from galaxy.version import VERSION, VERSION_MAJOR, VERSION_MINOR from galaxy.web.formatting import expand_pretty_datetime_format +try: + from importlib.resources import files # type: ignore[attr-defined] +except ImportError: + # Python < 3.9 + from importlib_resources import files # type: ignore[no-redef] + log = logging.getLogger(__name__) TOOLSHED_APP_NAME = 'tool_shed' -TOOLSHED_CONFIG_SCHEMA_PATH = 'lib/tool_shed/webapp/config_schema.yml' +TOOLSHED_CONFIG_SCHEMA_PATH = files('tool_shed.webapp') / 'config_schema.yml' class ToolShedAppConfiguration(BaseAppConfiguration, CommonConfigurationMixin):