|
4 | 4 | This comes from OpenStack cliff. |
5 | 5 | """ |
6 | 6 |
|
7 | | -import inspect |
8 | 7 | import logging |
9 | | - |
10 | | -import pkg_resources |
| 8 | +from importlib.metadata import entry_points |
11 | 9 |
|
12 | 10 | LOG = logging.getLogger(__name__) |
13 | 11 |
|
@@ -45,7 +43,7 @@ def _load_commands(self): |
45 | 43 |
|
46 | 44 | def load_commands(self, namespace): |
47 | 45 | """Load all the commands from an entrypoint""" |
48 | | - for ep in pkg_resources.iter_entry_points(namespace): |
| 46 | + for ep in entry_points().select(group=namespace): |
49 | 47 | LOG.debug("found command %r", ep.name) |
50 | 48 | cmd_name = ( |
51 | 49 | ep.name.replace("_", " ") if self.convert_underscores else ep.name |
@@ -73,16 +71,7 @@ def find_command(self, argv): |
73 | 71 | name = "%s %s" % (name, next_val) if name else next_val |
74 | 72 | if name in self.commands: |
75 | 73 | cmd_ep = self.commands[name] |
76 | | - if hasattr(cmd_ep, "resolve"): |
77 | | - cmd_factory = cmd_ep.resolve() |
78 | | - else: |
79 | | - # NOTE(dhellmann): Some fake classes don't take |
80 | | - # require as an argument. Yay? |
81 | | - arg_spec = inspect.getargspec(cmd_ep.load) |
82 | | - if "require" in arg_spec[0]: |
83 | | - cmd_factory = cmd_ep.load(require=False) |
84 | | - else: |
85 | | - cmd_factory = cmd_ep.load() |
| 74 | + cmd_factory = cmd_ep.load() |
86 | 75 | return (cmd_factory, name, search_args) |
87 | 76 | else: |
88 | 77 | raise ValueError("Unknown command %r" % next(iter(argv), "")) |
0 commit comments