diff options
| author | Michael Merickel <github@m.merickel.org> | 2024-02-04 23:55:45 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-02-04 23:55:45 -0700 |
| commit | 151ebdc003a3a372017fdf73c14fbebcc550535d (patch) | |
| tree | ff2b210b87aff4715450acc38d695a6c6a8abf61 /src | |
| parent | a6fe1a1e38d6a3fb955fa950b671fc736ac9f4d0 (diff) | |
| parent | 13dbb8507e9f1acaaad8caf74a1441e1f723a346 (diff) | |
| download | pyramid-151ebdc003a3a372017fdf73c14fbebcc550535d.tar.gz pyramid-151ebdc003a3a372017fdf73c14fbebcc550535d.tar.bz2 pyramid-151ebdc003a3a372017fdf73c14fbebcc550535d.zip | |
Merge pull request #3749 from Pylons/remove-pkg-resources-from-scripts
Remove pkg resources from scripts
Diffstat (limited to 'src')
| -rw-r--r-- | src/pyramid/scripts/pdistreport.py | 14 | ||||
| -rw-r--r-- | src/pyramid/scripts/pshell.py | 14 |
2 files changed, 17 insertions, 11 deletions
diff --git a/src/pyramid/scripts/pdistreport.py b/src/pyramid/scripts/pdistreport.py index 99615c1d5..eb41c17e7 100644 --- a/src/pyramid/scripts/pdistreport.py +++ b/src/pyramid/scripts/pdistreport.py @@ -1,6 +1,6 @@ import argparse +import importlib.metadata from operator import itemgetter -import pkg_resources import platform import sys @@ -21,7 +21,7 @@ def get_parser(): def main( argv=sys.argv, - pkg_resources=pkg_resources, + importlib_metadata=importlib.metadata, platform=platform.platform, out=out, ): @@ -29,25 +29,25 @@ def main( parser = get_parser() parser.parse_args(argv[1:]) packages = [] - for distribution in pkg_resources.working_set: - name = distribution.project_name + for distribution in importlib_metadata.distributions(): + name = distribution.metadata['Name'] packages.append( { 'version': distribution.version, 'lowername': name.lower(), 'name': name, - 'location': distribution.location, + 'summary': distribution.metadata.get('Summary'), } ) packages = sorted(packages, key=itemgetter('lowername')) - pyramid_version = pkg_resources.get_distribution('pyramid').version + pyramid_version = importlib_metadata.distribution('pyramid').version plat = platform() out('Pyramid version:', pyramid_version) out('Platform:', plat) out('Packages:') for package in packages: out(' ', package['name'], package['version']) - out(' ', package['location']) + out(' ', package['summary']) if __name__ == '__main__': # pragma: no cover diff --git a/src/pyramid/scripts/pshell.py b/src/pyramid/scripts/pshell.py index 63600abaf..4d3817ffb 100644 --- a/src/pyramid/scripts/pshell.py +++ b/src/pyramid/scripts/pshell.py @@ -1,8 +1,8 @@ import argparse from code import interact from contextlib import contextmanager +import importlib.metadata import os -import pkg_resources import sys import textwrap @@ -41,7 +41,7 @@ class PShellCommand: script_name = 'pshell' bootstrap = staticmethod(bootstrap) # for testing get_config_loader = staticmethod(get_config_loader) # for testing - pkg_resources = pkg_resources # for testing + importlib_metadata = importlib.metadata # for testing parser = argparse.ArgumentParser( description=textwrap.dedent(description), @@ -228,10 +228,16 @@ class PShellCommand: return 0 def find_all_shells(self): - pkg_resources = self.pkg_resources + importlib_metadata = self.importlib_metadata shells = {} - for ep in pkg_resources.iter_entry_points('pyramid.pshell_runner'): + eps = importlib_metadata.entry_points() + if hasattr(eps, 'select'): + eps = eps.select(group='pyramid.pshell_runner') + else: # pragma: no cover + # fallback for py38 and py39 + eps = eps.get('pyramid.pshell_runner') + for ep in eps: name = ep.name shell_factory = ep.load() shells[name] = shell_factory |
