summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZuul <zuul@review.opendev.org>2023-01-23 16:01:39 +0000
committerGerrit Code Review <review@openstack.org>2023-01-23 16:01:39 +0000
commitc4acc5639fd2329372142e39464fcca0209b0018 (patch)
treed0e56ee067f9c721eab205e9e5089de9ea928bf7
parent5189992d719ad15e0e3504947895bf5ba9dc7a1d (diff)
parent7eca3f5661bb7624139d629c097167c82ce4692c (diff)
downloadstevedore-c4acc5639fd2329372142e39464fcca0209b0018.tar.gz
Merge "Remove Extension.extras"5.0.0
-rw-r--r--releasenotes/notes/remove-extension-extras-attribute-c2c542c9a4dcd304.yaml7
-rw-r--r--stevedore/extension.py23
-rw-r--r--stevedore/tests/test_extension.py4
3 files changed, 7 insertions, 27 deletions
diff --git a/releasenotes/notes/remove-extension-extras-attribute-c2c542c9a4dcd304.yaml b/releasenotes/notes/remove-extension-extras-attribute-c2c542c9a4dcd304.yaml
new file mode 100644
index 0000000..c2a6e7c
--- /dev/null
+++ b/releasenotes/notes/remove-extension-extras-attribute-c2c542c9a4dcd304.yaml
@@ -0,0 +1,7 @@
+---
+upgrade:
+ - |
+ The ``stevedore.extension.Extension`` object no longer exposes an
+ ``extras`` attribute. Entry point extras are a deprecated concept that
+ aren't useful in the context of stevedore thus the value in exposing this
+ is minimal to none.
diff --git a/stevedore/extension.py b/stevedore/extension.py
index d9ee084..9db769f 100644
--- a/stevedore/extension.py
+++ b/stevedore/extension.py
@@ -59,29 +59,6 @@ class Extension(object):
return match.group('module')
@property
- def extras(self):
- """The 'extras' settings for the plugin."""
- # NOTE: The underlying package returned re.Match objects until this was
- # fixed in importlib-metadata 4.11.3. This was fixed in Python 3.10 and
- # backported to Python 3.9.11. For older versions without this fix,
- # translate the re.Match objects to the matched strings, which seem
- # more useful.
- extras = []
- for extra in self.entry_point.extras:
- if isinstance(extra, str):
- # We were previously returning the whole string including
- # backets. We need to continue doing so to preserve API
- # compatibility.
- extras.append(f'[{extra}]')
- else:
- # Python 3.6 returns _sre.SRE_Match objects. Later
- # versions of python return re.Match objects. Both types
- # have a 'string' attribute containing the text that
- # matched the pattern.
- extras.append(getattr(extra, 'string', extra))
- return extras
-
- @property
def attr(self):
"""The attribute of the module to be loaded."""
match = self.entry_point.pattern.match(self.entry_point.value)
diff --git a/stevedore/tests/test_extension.py b/stevedore/tests/test_extension.py
index 7d6c6b8..65af4cb 100644
--- a/stevedore/tests/test_extension.py
+++ b/stevedore/tests/test_extension.py
@@ -268,10 +268,6 @@ class TestExtensionProperties(utils.TestCase):
self.assertEqual('module.name', self.ext1.module_name)
self.assertEqual('module', self.ext2.module_name)
- def test_extras(self):
- self.assertEqual(['[extra]'], self.ext1.extras)
- self.assertEqual([], self.ext2.extras)
-
def test_attr(self):
self.assertEqual('attribute.name', self.ext1.attr)
self.assertEqual('attribute', self.ext2.attr)