From 2c2e01a0c6d0847f5648fd0120c8fa0bd5f6268f Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Mon, 29 Mar 2021 22:38:09 -0400 Subject: Adapt for importlib_metadata changes importlib_metadata deprecates the .get() method and provides a different method .select() as of 3.7.1. Work around the deprecation warning in this case. Change-Id: I0f1849219e13a1c546f7bd24047d447823a15552 --- lib/sqlalchemy/util/compat.py | 13 +++++++++++++ lib/sqlalchemy/util/langhelpers.py | 4 +--- 2 files changed, 14 insertions(+), 3 deletions(-) (limited to 'lib/sqlalchemy/util') diff --git a/lib/sqlalchemy/util/compat.py b/lib/sqlalchemy/util/compat.py index ad419cba2..ca92fb125 100644 --- a/lib/sqlalchemy/util/compat.py +++ b/lib/sqlalchemy/util/compat.py @@ -111,9 +111,22 @@ def inspect_getfullargspec(func): if py38: from importlib import metadata as importlib_metadata + + def importlib_metadata_get(group): + return importlib_metadata.entry_points().get(group, ()) + + else: import importlib_metadata # noqa + def importlib_metadata_get(group): + ep = importlib_metadata.entry_points() + if hasattr(ep, "select"): + return ep.select(group=group) + else: + return ep.get(group, ()) + + if py3k: import base64 import builtins diff --git a/lib/sqlalchemy/util/langhelpers.py b/lib/sqlalchemy/util/langhelpers.py index eb582b528..51b9071d5 100644 --- a/lib/sqlalchemy/util/langhelpers.py +++ b/lib/sqlalchemy/util/langhelpers.py @@ -331,9 +331,7 @@ class PluginLoader(object): self.impls[name] = loader return loader() - for impl in compat.importlib_metadata.entry_points().get( - self.group, () - ): + for impl in compat.importlib_metadata_get(self.group): if impl.name == name: self.impls[name] = impl.load return impl.load() -- cgit v1.2.1