Replace pkg_resources with importlib.metadata (#15441)

This commit is contained in:
Sviatoslav Sydorenko (Святослав Сидоренко) 2024-09-13 19:39:14 +02:00 committed by GitHub
parent a5de4652b9
commit e68370f2aa
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
7 changed files with 13 additions and 17 deletions

View File

@ -5,6 +5,7 @@ from __future__ import absolute_import, unicode_literals
import os
import sys
import warnings
from importlib.metadata import PackageNotFoundError, version as _get_version
def get_version():
@ -34,10 +35,8 @@ def version_file():
try:
import pkg_resources
__version__ = pkg_resources.get_distribution('awx').version
except pkg_resources.DistributionNotFound:
__version__ = _get_version('awx')
except PackageNotFoundError:
__version__ = get_version()
__all__ = ['__version__']

View File

@ -1,9 +1,9 @@
import os
import pkg_resources
import sqlite3
import sys
import traceback
import uuid
from importlib.metadata import version as _get_version
from django.core.cache import cache
from django.core.cache.backends.locmem import LocMemCache
@ -70,7 +70,7 @@ class RecordedQueryLog(object):
else:
progname = os.path.basename(sys.argv[0])
filepath = os.path.join(self.dest, '{}.sqlite'.format(progname))
version = pkg_resources.get_distribution('awx').version
version = _get_version('awx')
log = sqlite3.connect(filepath, timeout=3)
log.execute(
'CREATE TABLE IF NOT EXISTS queries ('

View File

@ -5,7 +5,7 @@ import functools
import inspect
import logging
import os
from pkg_resources import iter_entry_points
from importlib.metadata import entry_points
import re
import stat
import tempfile
@ -56,7 +56,7 @@ from awx_plugins.credentials import injectors as builtin_injectors
__all__ = ['Credential', 'CredentialType', 'CredentialInputSource', 'build_safe_env']
logger = logging.getLogger('awx.main.models.credential')
credential_plugins = dict((ep.name, ep.load()) for ep in iter_entry_points('awx_plugins.credentials'))
credential_plugins = {entry_point.name: entry_point.load() for entry_point in entry_points(group='awx_plugins.credentials')}
HIDDEN_PASSWORD = '**********'

View File

@ -18,6 +18,7 @@ import threading
import contextlib
import tempfile
import functools
from importlib.metadata import version as _get_version
# Django
from django.core.exceptions import ObjectDoesNotExist, FieldDoesNotExist
@ -230,9 +231,7 @@ def get_awx_version():
from awx import __version__
try:
import pkg_resources
return pkg_resources.require('awx')[0].version
return _get_version('awx')
except Exception:
return __version__

View File

@ -2,8 +2,8 @@ from __future__ import print_function
import logging
import os
import pkg_resources
import sys
from importlib.metadata import version as _get_version
from requests.exceptions import RequestException
@ -16,7 +16,7 @@ from awxkit.cli.utils import HelpfulArgumentParser, cprint, disable_color, color
from awxkit.awx.utils import uses_sessions # noqa
__version__ = pkg_resources.get_distribution('awxkit').version
__version__ = _get_version('awxkit')
class CLI(object):

View File

@ -3,7 +3,6 @@ import json
import os
import jinja2
import pkg_resources
import yaml
from sphinx.util.osutil import copyfile, ensuredir

View File

@ -30,8 +30,7 @@ import datetime
import itertools
import json
import multiprocessing
import pkg_resources
import random
import site
import subprocess
import sys
from io import StringIO
@ -132,7 +131,7 @@ def cleanup(sql):
def generate_jobs(jobs, batch_size, time_delta):
print(f'inserting {jobs} job(s)')
sys.path.insert(0, pkg_resources.get_distribution('awx').module_path)
sys.path[:0] = site.getsitepackages()
from awx import prepare_env
prepare_env()