From 53fa70d55e101b5a624a5ccda3df9f5ef6e4e997 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Ka=C5=A1p=C3=A1rek?= Date: Wed, 13 Nov 2024 12:00:57 +0100 Subject: [PATCH] always install keyring dependency --- .../dev/common/credential_store.py | 23 +--------------- .../azext_devops/dev/common/pip_helper.py | 26 ------------------- .../test/common/test_pip_helper.py | 18 ------------- azure-devops/setup.py | 3 ++- 4 files changed, 3 insertions(+), 67 deletions(-) delete mode 100644 azure-devops/azext_devops/dev/common/pip_helper.py delete mode 100644 azure-devops/azext_devops/test/common/test_pip_helper.py diff --git a/azure-devops/azext_devops/dev/common/credential_store.py b/azure-devops/azext_devops/dev/common/credential_store.py index 418c8336..f3ddda6a 100644 --- a/azure-devops/azext_devops/dev/common/credential_store.py +++ b/azure-devops/azext_devops/dev/common/credential_store.py @@ -9,7 +9,7 @@ from knack.log import get_logger from six.moves import configparser from .config import AZ_DEVOPS_GLOBAL_CONFIG_DIR -from .pip_helper import install_keyring +import keyring logger = get_logger(__name__) @@ -19,13 +19,6 @@ def __init__(self): self._initialize_keyring() def set_password(self, key, token): - try: - import keyring - except ImportError: - install_keyring() - self._initialize_keyring() - import keyring - try: # check for and delete existing credential old_token = keyring.get_password(key, self._USERNAME) @@ -51,10 +44,6 @@ def set_password(self, key, token): raise CLIError(ex) def get_password(self, key): - try: - import keyring - except ImportError: - return None token = None try: token = keyring.get_password(key, self._USERNAME) @@ -70,12 +59,6 @@ def get_password(self, key): return token def clear_password(self, key): - try: - import keyring - except ImportError: - install_keyring() - self._initialize_keyring() - import keyring if sys.platform.startswith(self._LINUX_PLATFORM): keyring_token = None file_token = None @@ -140,10 +123,6 @@ def _commit_change(credential_list): @staticmethod def _initialize_keyring(): - try: - import keyring - except ImportError: - return def _only_builtin(backend): return ( diff --git a/azure-devops/azext_devops/dev/common/pip_helper.py b/azure-devops/azext_devops/dev/common/pip_helper.py deleted file mode 100644 index c4c0949b..00000000 --- a/azure-devops/azext_devops/dev/common/pip_helper.py +++ /dev/null @@ -1,26 +0,0 @@ -# -------------------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -------------------------------------------------------------------------------------------- - -from knack.log import get_logger -from knack.util import CLIError - -from azure.cli.core.extension.operations import _run_pip -from azure.cli.core.extension import get_extension_path - -logger = get_logger(__name__) - - -def install_keyring(): - _install_package('keyring~=17.1.1') - - -def _install_package(package_name): - logger.debug('installing %s', package_name) - extensionPath = get_extension_path('azure-devops') - pip_args = ['install', package_name, '--target', extensionPath] - pip_status_code = _run_pip(pip_args) # pylint: disable=protected-access - if pip_status_code > 0: - raise CLIError('An error occurred. Pip failed with status code {} for package {}. ' - 'Use --debug for more information.'.format(pip_status_code, package_name)) diff --git a/azure-devops/azext_devops/test/common/test_pip_helper.py b/azure-devops/azext_devops/test/common/test_pip_helper.py deleted file mode 100644 index e21055ef..00000000 --- a/azure-devops/azext_devops/test/common/test_pip_helper.py +++ /dev/null @@ -1,18 +0,0 @@ -# -------------------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -------------------------------------------------------------------------------------------- - -import unittest - -class TestPipHelperMethods(unittest.TestCase): - - def test_run_pip_is_present_in_cli_core(self): - try: - from azure.cli.core.extension.operations import _run_pip - except ImportError: - self.fail('dependency on cli core is broken, pip helper will need fix') - - -if __name__ == '__main__': - unittest.main() \ No newline at end of file diff --git a/azure-devops/setup.py b/azure-devops/setup.py index af9d53c7..c1f4c664 100644 --- a/azure-devops/setup.py +++ b/azure-devops/setup.py @@ -18,7 +18,8 @@ # http://pypi.python.org/pypi/setuptools REQUIRES = [ - 'distro==1.3.0' + 'distro==1.3.0', + 'keyring~=17.1.1', ] # Version extraction inspired from 'requests'