From ff19137416a7eeda6c522023eecd211dd104564a Mon Sep 17 00:00:00 2001 From: Florian Schulze Date: Sun, 29 Sep 2024 13:55:23 +0200 Subject: [PATCH] Fix entry_points usage for Python 3.7. --- ploy_ansible/__init__.py | 10 +++++----- setup.py | 2 +- tox.ini | 1 + 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/ploy_ansible/__init__.py b/ploy_ansible/__init__.py index e68e893..19c3e9f 100644 --- a/ploy_ansible/__init__.py +++ b/ploy_ansible/__init__.py @@ -10,13 +10,13 @@ from binascii import b2a_base64 from ploy.common import sorted_choices, yesno try: - from importlib.metadata import PackageNotFoundError - from importlib.metadata import entry_points - from importlib.metadata import distribution -except ImportError: from importlib_metadata import PackageNotFoundError from importlib_metadata import entry_points from importlib_metadata import distribution +except ImportError: + from importlib.metadata import PackageNotFoundError + from importlib.metadata import entry_points + from importlib.metadata import distribution notset = object() @@ -99,7 +99,7 @@ def inject_ansible_paths(ctrl=None): extra_library = [] plugin_path_names = set(x for x in dir(C) if x.endswith('_PLUGIN_PATH')) extra_plugins = {} - for entrypoint in entry_points()['ansible_paths']: + for entrypoint in entry_points(group='ansible_paths'): pathinfo = entrypoint.load() extra_roles.extend(pathinfo.get('roles', [])) extra_library.extend(pathinfo.get('library', [])) diff --git a/setup.py b/setup.py index 0ad0ded..7b8aa56 100644 --- a/setup.py +++ b/setup.py @@ -23,7 +23,7 @@ install_requires = [ 'execnet', - 'importlib.metadata;python_version<"3.8"', + 'importlib.metadata;python_version<"3.10"', 'packaging', 'ploy >= 2.0.0', 'ansible>=1.9,!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*;python_version<"3.0"', diff --git a/tox.ini b/tox.ini index b0d4870..271a52c 100644 --- a/tox.ini +++ b/tox.ini @@ -28,6 +28,7 @@ deps = mock pytest pytest-cov + setuptools<68;python_version<="3.7" changedir = {envdir} commands = {envbindir}/py.test --cov {envsitepackagesdir}/ploy_ansible/ --cov-report html:{toxinidir}/htmlcov_{envname} {posargs} {envsitepackagesdir}/ploy_ansible/