diff options
author | Zuul <zuul@review.opendev.org> | 2023-01-23 16:01:39 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2023-01-23 16:01:39 +0000 |
commit | c4acc5639fd2329372142e39464fcca0209b0018 (patch) | |
tree | d0e56ee067f9c721eab205e9e5089de9ea928bf7 | |
parent | 5189992d719ad15e0e3504947895bf5ba9dc7a1d (diff) | |
parent | 7eca3f5661bb7624139d629c097167c82ce4692c (diff) | |
download | stevedore-c4acc5639fd2329372142e39464fcca0209b0018.tar.gz |
Merge "Remove Extension.extras"5.0.0
-rw-r--r-- | releasenotes/notes/remove-extension-extras-attribute-c2c542c9a4dcd304.yaml | 7 | ||||
-rw-r--r-- | stevedore/extension.py | 23 | ||||
-rw-r--r-- | stevedore/tests/test_extension.py | 4 |
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) |