From fa9ff7d77fb5a83b860b8ceaca07e2dceba0597a Mon Sep 17 00:00:00 2001 From: Hemna Date: Sun, 21 Apr 2024 12:30:29 -0400 Subject: [PATCH] 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. --- aprsd/main.py | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/aprsd/main.py b/aprsd/main.py index 26c228e..2bbd051 100644 --- a/aprsd/main.py +++ b/aprsd/main.py @@ -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")