Fix for entry_points where python < 3.10

python 3.10 has importlib_metadata.entry_points(group) parameter
it seems that less than 3.10 doesn't.  this patch test for
python version to see how to get the entry point groups.
This commit is contained in:
Hemna 2024-04-21 12:30:29 -04:00
parent 8e0de9c5ac
commit fa9ff7d77f
1 changed files with 16 additions and 1 deletions

View File

@ -122,10 +122,25 @@ def check_version(ctx):
def sample_config(ctx):
"""Generate a sample Config file from aprsd and all installed plugins."""
def _get_selected_entry_points():
import sys
if sys.version_info < (3,10):
all = imp.entry_points()
selected = []
if "oslo.config.opts" in all:
for x in all["oslo.config.opts"]:
if x.group == "oslo.config.opts":
selected.append(x)
else:
selected = imp.entry_points(group="oslo.config.opts")
return selected
def get_namespaces():
args = []
selected = imp.entry_points(group="oslo.config.opts")
# selected = imp.entry_points(group="oslo.config.opts")
selected = _get_selected_entry_points()
for entry in selected:
if "aprsd" in entry.name:
args.append("--namespace")