diff --git a/azure-pipelines.yml b/azure-pipelines.yml index f38e2e4ba5c..fa3bc819640 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -820,6 +820,8 @@ jobs: - bash: | set -ev . env/bin/activate + + pip install --force -q git+https://github.com/Azure/azure-cli-dev-tools.git@master azdev style - job: CheckHeaders diff --git a/pylintrc b/pylintrc index 7b14b620635..cbdcfe9701a 100644 --- a/pylintrc +++ b/pylintrc @@ -7,7 +7,14 @@ reports=no # locally-disabled: Warning locally suppressed using disable-msg # cyclic-import: because of https://github.com/PyCQA/pylint/issues/850 # too-many-arguments: Due to the nature of the CLI many commands have large arguments set which reflect in large arguments set in corresponding methods. -disable=missing-docstring,locally-disabled,fixme,cyclic-import,too-many-arguments,invalid-name,duplicate-code +disable= + missing-docstring, + locally-disabled, + fixme, + cyclic-import, + too-many-arguments, + invalid-name, + duplicate-code [FORMAT] max-line-length=120 diff --git a/src/azure-cli-core/azure/cli/core/__init__.py b/src/azure-cli-core/azure/cli/core/__init__.py index 59b697f659c..7179969513a 100644 --- a/src/azure-cli-core/azure/cli/core/__init__.py +++ b/src/azure-cli-core/azure/cli/core/__init__.py @@ -579,7 +579,7 @@ def invalidate(self): logger.debug("Command index has been invalidated.") -class ModExtensionSuppress(object): # pylint: disable=too-few-public-methods +class ModExtensionSuppress: # pylint: disable=too-few-public-methods def __init__(self, mod_name, suppress_extension_name, suppress_up_to_version, reason=None, recommend_remove=False, recommend_update=False): diff --git a/src/azure-cli-core/azure/cli/core/_help_loaders.py b/src/azure-cli-core/azure/cli/core/_help_loaders.py index 4239b4fba06..7be465e1b97 100644 --- a/src/azure-cli-core/azure/cli/core/_help_loaders.py +++ b/src/azure-cli-core/azure/cli/core/_help_loaders.py @@ -5,13 +5,14 @@ import abc import os -import yaml from azure.cli.core._help import (HelpExample, CliHelpFile) from knack.util import CLIError from knack.log import get_logger +import yaml + logger = get_logger(__name__) try: @@ -93,7 +94,7 @@ def _update_help_obj_params(help_obj, data_params, params_equal, attr_key_tups): help_obj.parameters = loaded_params -class YamlLoaderMixin(object): # pylint:disable=too-few-public-methods +class YamlLoaderMixin: # pylint:disable=too-few-public-methods """A class containing helper methods for Yaml Loaders.""" # get the list of yaml help file names for the command or group diff --git a/src/azure-cli-core/azure/cli/core/_profile.py b/src/azure-cli-core/azure/cli/core/_profile.py index be698a3cad3..000a53ff3f7 100644 --- a/src/azure-cli-core/azure/cli/core/_profile.py +++ b/src/azure-cli-core/azure/cli/core/_profile.py @@ -15,14 +15,15 @@ from copy import deepcopy from enum import Enum +from knack.log import get_logger +from knack.util import CLIError + from azure.cli.core._environment import get_config_dir from azure.cli.core._session import ACCOUNT from azure.cli.core.util import get_file_json, in_cloud_console, open_page_in_browser, can_launch_browser,\ is_windows, is_wsl from azure.cli.core.cloud import get_active_cloud, set_cloud_subscription -from knack.log import get_logger -from knack.util import CLIError logger = get_logger(__name__) @@ -139,7 +140,7 @@ def _get_cloud_console_token_endpoint(): # pylint: disable=too-many-lines,too-many-instance-attributes -class Profile(object): +class Profile: _global_creds_cache = None @@ -759,7 +760,7 @@ def get_installation_id(self): return installation_id -class MsiAccountTypes(object): +class MsiAccountTypes: # pylint: disable=no-method-argument,no-self-argument system_assigned = 'MSI' user_assigned_client_id = 'MSIClient' @@ -785,7 +786,7 @@ def msi_auth_factory(cli_account_name, identity, resource): raise ValueError("unrecognized msi account name '{}'".format(cli_account_name)) -class SubscriptionFinder(object): +class SubscriptionFinder: '''finds all subscriptions for a user or service principal''' def __init__(self, cli_ctx, auth_context_factory, adal_token_cache, arm_client_factory=None): @@ -970,7 +971,7 @@ def _find_using_specific_tenant(self, tenant, access_token): return all_subscriptions -class CredsCache(object): +class CredsCache: '''Caches AAD tokena and service principal secrets, and persistence will also be handled ''' @@ -1128,7 +1129,7 @@ def remove_all_cached_creds(self): _delete_file(self._token_file) -class ServicePrincipalAuth(object): +class ServicePrincipalAuth: def __init__(self, password_arg_value, use_cert_sn_issuer=None): if not password_arg_value: diff --git a/src/azure-cli-core/azure/cli/core/azlogging.py b/src/azure-cli-core/azure/cli/core/azlogging.py index be2c86cdeff..ef060827234 100644 --- a/src/azure-cli-core/azure/cli/core/azlogging.py +++ b/src/azure-cli-core/azure/cli/core/azlogging.py @@ -191,7 +191,7 @@ def end_cmd_metadata_logging(self, exit_code): # leave it non '-' prefix to not self.command_metadata_logger = None -class CommandLoggerContext(object): +class CommandLoggerContext: def __init__(self, module_logger): self.logger = module_logger self.hdlr = logging.getLogger(AzCliLogging._COMMAND_METADATA_LOGGER) # pylint: disable=protected-access diff --git a/src/azure-cli-core/azure/cli/core/cloud.py b/src/azure-cli-core/azure/cli/core/cloud.py index d0fa6179126..233ae9ed793 100644 --- a/src/azure-cli-core/azure/cli/core/cloud.py +++ b/src/azure-cli-core/azure/cli/core/cloud.py @@ -53,7 +53,7 @@ class CloudSuffixNotSetException(CLIError): pass -class CloudEndpoints(object): # pylint: disable=too-few-public-methods,too-many-instance-attributes +class CloudEndpoints: # pylint: disable=too-few-public-methods,too-many-instance-attributes def __init__(self, management=None, @@ -110,7 +110,7 @@ def __getattribute__(self, name): return val -class CloudSuffixes(object): # pylint: disable=too-few-public-methods,too-many-instance-attributes +class CloudSuffixes: # pylint: disable=too-few-public-methods,too-many-instance-attributes def __init__(self, storage_endpoint=None, @@ -212,7 +212,7 @@ def _arm_to_cli_mapper(arm_dict): acr_login_server_endpoint=arm_dict['suffixes']['acrLoginServer'] if 'acrLoginServer' in arm_dict['suffixes'] else None)) # pylint: disable=line-too-long -class Cloud(object): # pylint: disable=too-few-public-methods +class Cloud: # pylint: disable=too-few-public-methods """ Represents an Azure Cloud instance """ def __init__(self, diff --git a/src/azure-cli-core/azure/cli/core/commands/__init__.py b/src/azure-cli-core/azure/cli/core/commands/__init__.py index 9286637258f..d567c85bc3a 100644 --- a/src/azure-cli-core/azure/cli/core/commands/__init__.py +++ b/src/azure-cli-core/azure/cli/core/commands/__init__.py @@ -118,7 +118,7 @@ def _pre_command_table_create(cli_ctx, args): # pylint: disable=too-many-instance-attributes -class CacheObject(object): +class CacheObject: def path(self, args, kwargs): from azure.cli.core._environment import get_config_dir @@ -349,7 +349,7 @@ def get_models(self, *attr_args, **kwargs): operation_group=operation_group) def update_context(self, obj_inst): - class UpdateContext(object): + class UpdateContext: def __init__(self, instance): self.instance = instance @@ -860,7 +860,7 @@ def _validate_arg_level(self, ns, **_): # pylint: disable=no-self-use pass -class LongRunningOperation(object): # pylint: disable=too-few-public-methods +class LongRunningOperation: # pylint: disable=too-few-public-methods def __init__(self, cli_ctx, start_msg='', finish_msg='', poller_done_interval_ms=1000.0): self.cli_ctx = cli_ctx @@ -1048,7 +1048,7 @@ def _load_module_command_loader(loader, args, mod): return _load_command_loader(loader, args, mod, 'azure.cli.command_modules.') -class ExtensionCommandSource(object): +class ExtensionCommandSource: """ Class for commands contributed by an extension """ def __init__(self, overrides_command=False, extension_name=None, preview=False, experimental=False): @@ -1129,7 +1129,7 @@ def _merge_kwargs(patch_kwargs, base_kwargs, supported_kwargs=None): # pylint: disable=too-few-public-methods -class CliCommandType(object): +class CliCommandType: def __init__(self, overrides=None, **kwargs): if isinstance(overrides, str): diff --git a/src/azure-cli-core/azure/cli/core/commands/arm.py b/src/azure-cli-core/azure/cli/core/commands/arm.py index 83862c1dfe2..97e0adc06d3 100644 --- a/src/azure-cli-core/azure/cli/core/commands/arm.py +++ b/src/azure-cli-core/azure/cli/core/commands/arm.py @@ -31,7 +31,7 @@ # pylint:disable=too-many-lines -class ArmTemplateBuilder(object): +class ArmTemplateBuilder: def __init__(self): template = OrderedDict() diff --git a/src/azure-cli-core/azure/cli/core/commands/progress.py b/src/azure-cli-core/azure/cli/core/commands/progress.py index 56f911961d4..20c70c733b9 100644 --- a/src/azure-cli-core/azure/cli/core/commands/progress.py +++ b/src/azure-cli-core/azure/cli/core/commands/progress.py @@ -10,7 +10,7 @@ BAR_LEN = 70 -class ProgressViewBase(object): +class ProgressViewBase: """ a view base for progress reporting """ def __init__(self, out): self.out = out @@ -28,7 +28,7 @@ def clear(self): pass # pylint: disable=unnecessary-pass -class ProgressReporter(object): +class ProgressReporter: """ generic progress reporter """ def __init__(self, message='', value=None, total_value=None): self.message = message @@ -45,7 +45,7 @@ def add(self, **kwargs): total_val = kwargs.get('total_val', self.total_val) value = kwargs.get('value', self.value) if value and total_val: - assert value >= 0 and value <= total_val and total_val >= 0 + assert 0 <= value <= total_val self.closed = value == total_val self.total_val = total_val self.value = value @@ -57,7 +57,7 @@ def report(self): return {'message': self.message, 'percent': percent} -class ProgressHook(object): +class ProgressHook: """ sends the progress to the view """ def __init__(self): self.reporter = ProgressReporter() diff --git a/src/azure-cli-core/azure/cli/core/decorators.py b/src/azure-cli-core/azure/cli/core/decorators.py index f12f793bd5b..0066fef71ea 100644 --- a/src/azure-cli-core/azure/cli/core/decorators.py +++ b/src/azure-cli-core/azure/cli/core/decorators.py @@ -17,7 +17,7 @@ # pylint: disable=too-few-public-methods -class Completer(object): +class Completer: def __init__(self, func): self.func = func diff --git a/src/azure-cli-core/azure/cli/core/extension/__init__.py b/src/azure-cli-core/azure/cli/core/extension/__init__.py index a30c47c9be7..bdb7619f51d 100644 --- a/src/azure-cli-core/azure/cli/core/extension/__init__.py +++ b/src/azure-cli-core/azure/cli/core/extension/__init__.py @@ -8,12 +8,12 @@ import traceback import json import re -import pkginfo - -from azure.cli.core._config import GLOBAL_CONFIG_DIR, ENV_VAR_PREFIX from distutils.sysconfig import get_python_lib + +import pkginfo from knack.config import CLIConfig from knack.log import get_logger +from azure.cli.core._config import GLOBAL_CONFIG_DIR, ENV_VAR_PREFIX az_config = CLIConfig(config_dir=GLOBAL_CONFIG_DIR, config_env_var_prefix=ENV_VAR_PREFIX) _CUSTOM_EXT_DIR = az_config.get('extension', 'dir', None) @@ -51,7 +51,7 @@ def __str__(self): return "The extension {} is not installed.".format(self.extension_name) -class Extension(object): +class Extension: def __init__(self, name, ext_type, path=None): self.name = name diff --git a/src/azure-cli-core/azure/cli/core/extension/_homebrew_patch.py b/src/azure-cli-core/azure/cli/core/extension/_homebrew_patch.py index 7945447624f..7e914fa05ae 100644 --- a/src/azure-cli-core/azure/cli/core/extension/_homebrew_patch.py +++ b/src/azure-cli-core/azure/cli/core/extension/_homebrew_patch.py @@ -18,7 +18,7 @@ def is_homebrew(): # A workaround for https://github.com/Azure/azure-cli/issues/4428 -class HomebrewPipPatch(object): # pylint: disable=too-few-public-methods +class HomebrewPipPatch: # pylint: disable=too-few-public-methods CFG_FILE = os.path.expanduser(os.path.join('~', '.pydistutils.cfg')) diff --git a/src/azure-cli-core/azure/cli/core/local_context.py b/src/azure-cli-core/azure/cli/core/local_context.py index 654097bea71..c41c824fe95 100644 --- a/src/azure-cli-core/azure/cli/core/local_context.py +++ b/src/azure-cli-core/azure/cli/core/local_context.py @@ -33,7 +33,7 @@ def _get_current_system_username(): return None -class AzCLILocalContext(object): # pylint: disable=too-many-instance-attributes +class AzCLILocalContext: # pylint: disable=too-many-instance-attributes def __init__(self, cli_ctx): self.cli_ctx = cli_ctx @@ -180,7 +180,7 @@ def get_value(self, names=None): return result -class LocalContextAttribute(object): +class LocalContextAttribute: # pylint: disable=too-few-public-methods def __init__(self, name, actions, scopes=None): """ Local Context Attribute arguments diff --git a/src/azure-cli-core/azure/cli/core/profiles/_shared.py b/src/azure-cli-core/azure/cli/core/profiles/_shared.py index a53ede17b65..ad4ba9cc221 100644 --- a/src/azure-cli-core/azure/cli/core/profiles/_shared.py +++ b/src/azure-cli-core/azure/cli/core/profiles/_shared.py @@ -24,7 +24,7 @@ def __str__(self): PROFILE_TYPE = object() -class CustomResourceType(object): # pylint: disable=too-few-public-methods +class CustomResourceType: # pylint: disable=too-few-public-methods def __init__(self, import_prefix, client_name): self.import_prefix = import_prefix self.client_name = client_name @@ -111,7 +111,7 @@ def __init__(self, import_prefix, client_name): self.client_name = client_name -class SDKProfile(object): # pylint: disable=too-few-public-methods +class SDKProfile: # pylint: disable=too-few-public-methods def __init__(self, default_api_version, profile=None): """Constructor. @@ -281,7 +281,7 @@ def default_api_version(self): } -class _ApiVersions(object): # pylint: disable=too-few-public-methods +class _ApiVersions: # pylint: disable=too-few-public-methods def __init__(self, client_type, sdk_profile, post_process): self._client_type = client_type self._sdk_profile = sdk_profile @@ -342,7 +342,7 @@ def get_api_version(api_profile, resource_type, as_sdk_profile=False): @total_ordering -class _SemVerAPIFormat(object): +class _SemVerAPIFormat: """Basic semver x.y.z API format. Supports x, or x.y, or x.y.z """ @@ -366,7 +366,7 @@ def __lt__(self, other): @total_ordering # pylint: disable=too-few-public-methods -class _DateAPIFormat(object): +class _DateAPIFormat: """ Class to support comparisons for API versions in YYYY-MM-DD, YYYY-MM-DD-preview, YYYY-MM-DD-profile, YYYY-MM-DD-profile-preview or any string that starts with YYYY-MM-DD format. A special case is made for 'latest'. diff --git a/src/azure-cli-core/azure/cli/core/telemetry.py b/src/azure-cli-core/azure/cli/core/telemetry.py index 21b42c46139..b36f8a6f8d6 100644 --- a/src/azure-cli-core/azure/cli/core/telemetry.py +++ b/src/azure-cli-core/azure/cli/core/telemetry.py @@ -24,7 +24,7 @@ CORRELATION_ID_PROP_NAME = 'Reserved.DataModel.CorrelationId' -class TelemetrySession(object): # pylint: disable=too-many-instance-attributes +class TelemetrySession: # pylint: disable=too-many-instance-attributes def __init__(self, correlation_id=None, application=None): self.start_time = None self.end_time = None diff --git a/src/azure-cli-core/azure/cli/core/util.py b/src/azure-cli-core/azure/cli/core/util.py index ba72dded0a4..96c7f3f3031 100644 --- a/src/azure-cli-core/azure/cli/core/util.py +++ b/src/azure-cli-core/azure/cli/core/util.py @@ -12,10 +12,10 @@ import binascii import platform import ssl -import six import re import logging +import six from six.moves.urllib.request import urlopen # pylint: disable=import-error from knack.log import get_logger from knack.util import CLIError, to_snake_case @@ -882,7 +882,7 @@ def _log_response(response, **kwargs): return response -class ConfiguredDefaultSetter(object): +class ConfiguredDefaultSetter: def __init__(self, cli_config, use_local_config=None): self.use_local_config = use_local_config diff --git a/src/azure-cli-telemetry/azure/cli/telemetry/components/records_collection.py b/src/azure-cli-telemetry/azure/cli/telemetry/components/records_collection.py index bc910b10379..d44795fa9ea 100644 --- a/src/azure-cli-telemetry/azure/cli/telemetry/components/records_collection.py +++ b/src/azure-cli-telemetry/azure/cli/telemetry/components/records_collection.py @@ -10,7 +10,7 @@ import tempfile -class RecordsCollection(object): +class RecordsCollection: def __init__(self, last_sent, config_dir): from azure.cli.telemetry.components.telemetry_logging import get_logger diff --git a/src/azure-cli-telemetry/azure/cli/telemetry/components/telemetry_client.py b/src/azure-cli-telemetry/azure/cli/telemetry/components/telemetry_client.py index 3acadbe5bb6..98e5eb18891 100644 --- a/src/azure-cli-telemetry/azure/cli/telemetry/components/telemetry_client.py +++ b/src/azure-cli-telemetry/azure/cli/telemetry/components/telemetry_client.py @@ -20,7 +20,7 @@ from urllib.error import HTTPError -class CliTelemetryClient(object): +class CliTelemetryClient: def __init__(self, batch=100, sender=None): from azure.cli.telemetry.components.telemetry_logging import get_logger diff --git a/src/azure-cli/azure/cli/command_modules/acr/_archive_utils.py b/src/azure-cli/azure/cli/command_modules/acr/_archive_utils.py index 802bbe982a6..5414447a69f 100644 --- a/src/azure-cli/azure/cli/command_modules/acr/_archive_utils.py +++ b/src/azure-cli/azure/cli/command_modules/acr/_archive_utils.py @@ -116,7 +116,7 @@ def _ignore_check(tarinfo, parent_ignored, parent_matching_rule_index): tar.addfile(docker_file_tarinfo, f) -class IgnoreRule(object): # pylint: disable=too-few-public-methods +class IgnoreRule: # pylint: disable=too-few-public-methods def __init__(self, rule): self.rule = rule diff --git a/src/azure-cli/azure/cli/command_modules/acr/_docker_utils.py b/src/azure-cli/azure/cli/command_modules/acr/_docker_utils.py index 2c4428c317b..001245becfc 100644 --- a/src/azure-cli/azure/cli/command_modules/acr/_docker_utils.py +++ b/src/azure-cli/azure/cli/command_modules/acr/_docker_utils.py @@ -602,7 +602,7 @@ def __init__(self, message, status_code): self.status_code = status_code -class RegistryResponse(object): # pylint: disable=too-few-public-methods +class RegistryResponse: # pylint: disable=too-few-public-methods def __init__(self, request, internal_response): self.request = request self.internal_response = internal_response diff --git a/src/azure-cli/azure/cli/command_modules/acr/import.py b/src/azure-cli/azure/cli/command_modules/acr/import.py index 4b047f9b4cb..a4a3b8684d2 100644 --- a/src/azure-cli/azure/cli/command_modules/acr/import.py +++ b/src/azure-cli/azure/cli/command_modules/acr/import.py @@ -6,12 +6,12 @@ from knack.util import CLIError from knack.log import get_logger from msrestazure.tools import is_valid_resource_id, parse_resource_id +from azure.cli.core.commands import LongRunningOperation from ._utils import ( validate_managed_registry, get_registry_from_name_or_login_server, get_registry_by_name ) -from azure.cli.core.commands import LongRunningOperation logger = get_logger(__name__) diff --git a/src/azure-cli/azure/cli/command_modules/acr/replication.py b/src/azure-cli/azure/cli/command_modules/acr/replication.py index 6022d67e6a7..b0ce35d4fdd 100644 --- a/src/azure-cli/azure/cli/command_modules/acr/replication.py +++ b/src/azure-cli/azure/cli/command_modules/acr/replication.py @@ -3,13 +3,13 @@ # Licensed under the MIT License. See License.txt in the project root for license information. # -------------------------------------------------------------------------------------------- +from knack.log import get_logger from azure.cli.core.util import CLIError from ._utils import ( get_resource_group_name_by_registry_name, validate_premium_registry ) -from knack.log import get_logger logger = get_logger(__name__) diff --git a/src/azure-cli/azure/cli/command_modules/acs/acs_client.py b/src/azure-cli/azure/cli/command_modules/acs/acs_client.py index a04b9cda426..53d35a8baed 100644 --- a/src/azure-cli/azure/cli/command_modules/acs/acs_client.py +++ b/src/azure-cli/azure/cli/command_modules/acs/acs_client.py @@ -79,7 +79,7 @@ def secure_copy(user, host, src, dest, key_filename=None, allow_agent=True): subprocess.call(["scp", "{}@{}:{}".format(user, host, src), dest]) -class ACSClient(object): +class ACSClient: def __init__(self, client=None): self.client = client self.transport = None diff --git a/src/azure-cli/azure/cli/command_modules/acs/proxy.py b/src/azure-cli/azure/cli/command_modules/acs/proxy.py index 0b7482f6536..50ff85a893f 100644 --- a/src/azure-cli/azure/cli/command_modules/acs/proxy.py +++ b/src/azure-cli/azure/cli/command_modules/acs/proxy.py @@ -43,7 +43,7 @@ def _get_proxy_instance(): raise NotImplementedError('Not implemented yet for {}'.format(os_platform)) -class Proxy(object): +class Proxy: """ Base proxy class """ diff --git a/src/azure-cli/azure/cli/command_modules/appconfig/_azconfig/azconfig_client.py b/src/azure-cli/azure/cli/command_modules/appconfig/_azconfig/azconfig_client.py index d347e0de2df..3774cb4f611 100644 --- a/src/azure-cli/azure/cli/command_modules/appconfig/_azconfig/azconfig_client.py +++ b/src/azure-cli/azure/cli/command_modules/appconfig/_azconfig/azconfig_client.py @@ -17,7 +17,7 @@ import azure.cli.command_modules.appconfig._azconfig.request_handler as handler -class AzconfigClient(object): +class AzconfigClient: """Represents an azconfig client. Provides a client-side logical representation of the Azure config service. diff --git a/src/azure-cli/azure/cli/command_modules/appconfig/_azconfig/execution_context.py b/src/azure-cli/azure/cli/command_modules/appconfig/_azconfig/execution_context.py index fee990884e6..d03ac259a96 100644 --- a/src/azure-cli/azure/cli/command_modules/appconfig/_azconfig/execution_context.py +++ b/src/azure-cli/azure/cli/command_modules/appconfig/_azconfig/execution_context.py @@ -9,7 +9,7 @@ from collections import deque -class QueryExecutionContext(object): +class QueryExecutionContext: """ This is the execution context class. """ diff --git a/src/azure-cli/azure/cli/command_modules/appconfig/_azconfig/keyvalue_iterable.py b/src/azure-cli/azure/cli/command_modules/appconfig/_azconfig/keyvalue_iterable.py index d521399f4dd..bb9ff75b034 100644 --- a/src/azure-cli/azure/cli/command_modules/appconfig/_azconfig/keyvalue_iterable.py +++ b/src/azure-cli/azure/cli/command_modules/appconfig/_azconfig/keyvalue_iterable.py @@ -8,7 +8,7 @@ # pylint: disable=too-few-public-methods -class KeyValueIterable(object): +class KeyValueIterable: """Represents an iterable object of the query results.""" def __init__(self, client, query_options, fetch_function): @@ -32,7 +32,7 @@ def __iter__(self): """ return self.Iterator(self) - class Iterator(object): + class Iterator: def __init__(self, iterable): self._iterable = iterable self._finished = False diff --git a/src/azure-cli/azure/cli/command_modules/appconfig/_azconfig/models.py b/src/azure-cli/azure/cli/command_modules/appconfig/_azconfig/models.py index 42d689a35d2..b0844e42e69 100644 --- a/src/azure-cli/azure/cli/command_modules/appconfig/_azconfig/models.py +++ b/src/azure-cli/azure/cli/command_modules/appconfig/_azconfig/models.py @@ -11,7 +11,7 @@ # pylint: disable=too-few-public-methods # pylint: disable=too-many-instance-attributes -class KeyValue(object): +class KeyValue: ''' Key value class. @@ -65,7 +65,7 @@ class QueryFields(Enum): ALL = KEY | LABEL | VALUE | CONTENT_TYPE | ETAG | LAST_MODIFIED | LOCKED | TAGS -class QueryKeyValueOptions(object): +class QueryKeyValueOptions: ''' Query options for retriving the key-value @@ -98,7 +98,7 @@ def __init__(self, uuid.uuid4()) if correlation_request_id is None else correlation_request_id -class QueryKeyValueCollectionOptions(object): +class QueryKeyValueCollectionOptions: ''' Query options for retriving the key-values @@ -137,7 +137,7 @@ def __init__(self, uuid.uuid4()) if correlation_request_id is None else correlation_request_id -class ModifyKeyValueOptions(object): +class ModifyKeyValueOptions: ''' Options for modifying key-value @@ -156,7 +156,7 @@ def __init__(self, client_request_id=None, correlation_request_id=None): uuid.uuid4()) if correlation_request_id is None else correlation_request_id -class ClientOptions(object): +class ClientOptions: ''' Options for customizing Azconfig client diff --git a/src/azure-cli/azure/cli/command_modules/appconfig/_azconfig/request_handler.py b/src/azure-cli/azure/cli/command_modules/appconfig/_azconfig/request_handler.py index 9677798af60..b0a855b7eaf 100644 --- a/src/azure-cli/azure/cli/command_modules/appconfig/_azconfig/request_handler.py +++ b/src/azure-cli/azure/cli/command_modules/appconfig/_azconfig/request_handler.py @@ -12,7 +12,7 @@ import azure.cli.command_modules.appconfig._azconfig.exceptions as exceptions -class RequestHandler(object): +class RequestHandler: def __init__(self, connection_string, request_options): self.connection_string = connection_string diff --git a/src/azure-cli/azure/cli/command_modules/appconfig/_azconfig/request_message.py b/src/azure-cli/azure/cli/command_modules/appconfig/_azconfig/request_message.py index 406b2731f8a..0544c263c07 100644 --- a/src/azure-cli/azure/cli/command_modules/appconfig/_azconfig/request_message.py +++ b/src/azure-cli/azure/cli/command_modules/appconfig/_azconfig/request_message.py @@ -6,7 +6,7 @@ # pylint: disable=too-few-public-methods -class RequestMessage(object): +class RequestMessage: def __init__(self, method, headers, url, body): self.method = method diff --git a/src/azure-cli/azure/cli/command_modules/appconfig/_featuremodels.py b/src/azure-cli/azure/cli/command_modules/appconfig/_featuremodels.py index 2cd5acf2d27..5cd2d10aa4e 100644 --- a/src/azure-cli/azure/cli/command_modules/appconfig/_featuremodels.py +++ b/src/azure-cli/azure/cli/command_modules/appconfig/_featuremodels.py @@ -35,7 +35,7 @@ class FeatureQueryFields(Enum): ALL = KEY | LABEL | LAST_MODIFIED | LOCKED | STATE | DESCRIPTION | CONDITIONS -class FeatureFlagValue(object): +class FeatureFlagValue: ''' Schema of Value inside KeyValue when key is a Feature Flag. @@ -72,7 +72,7 @@ def __repr__(self): return json.dumps(featureflagvalue, indent=2, ensure_ascii=False) -class FeatureFlag(object): +class FeatureFlag: ''' Feature Flag schema as displayed to the user. @@ -124,7 +124,7 @@ def __repr__(self): return json.dumps(featureflag, indent=2, ensure_ascii=False) -class FeatureFilter(object): +class FeatureFilter: ''' Feature filters class. diff --git a/src/azure-cli/azure/cli/command_modules/appconfig/_kv_helpers.py b/src/azure-cli/azure/cli/command_modules/appconfig/_kv_helpers.py index ded4181f766..1ed8d72ce90 100644 --- a/src/azure-cli/azure/cli/command_modules/appconfig/_kv_helpers.py +++ b/src/azure-cli/azure/cli/command_modules/appconfig/_kv_helpers.py @@ -32,7 +32,7 @@ ENABLED_FOR_KEYWORDS = ["EnabledFor", "enabledFor", "enabled_for", "enabled-for"] -class FeatureManagementReservedKeywords(object): +class FeatureManagementReservedKeywords: ''' Feature management keywords used in files in different naming conventions. @@ -898,7 +898,7 @@ def __resolve_secret(keyvault_client, keyvault_reference): raise CLIError(str(exception)) -class Undef(object): # pylint: disable=too-few-public-methods +class Undef: # pylint: disable=too-few-public-methods ''' Dummy undef class used to preallocate space for kv exporting. diff --git a/src/azure-cli/azure/cli/command_modules/appservice/custom.py b/src/azure-cli/azure/cli/command_modules/appservice/custom.py index d56c41e5c99..8998d43e439 100644 --- a/src/azure-cli/azure/cli/command_modules/appservice/custom.py +++ b/src/azure-cli/azure/cli/command_modules/appservice/custom.py @@ -8,7 +8,6 @@ import time import ast - try: from urllib.parse import urlparse except ImportError: @@ -20,11 +19,11 @@ import ssl import sys import uuid +from functools import reduce + from six.moves.urllib.request import urlopen # pylint: disable=import-error, ungrouped-imports import OpenSSL.crypto from fabric import Connection -from functools import reduce - from knack.prompting import prompt_pass, NoTTYException from knack.util import CLIError @@ -2407,7 +2406,7 @@ def _match_host_names_from_cert(hostnames_from_cert, hostnames_in_webapp): # help class handles runtime stack in format like 'node|6.1', 'php|5.5' -class _StackRuntimeHelper(object): +class _StackRuntimeHelper: def __init__(self, cmd, client, linux=False): self._cmd = cmd diff --git a/src/azure-cli/azure/cli/command_modules/appservice/tunnel.py b/src/azure-cli/azure/cli/command_modules/appservice/tunnel.py index 4f04bde8181..0eb529da6bb 100644 --- a/src/azure-cli/azure/cli/command_modules/appservice/tunnel.py +++ b/src/azure-cli/azure/cli/command_modules/appservice/tunnel.py @@ -36,7 +36,7 @@ def recv(self): # pylint: disable=no-member,too-many-instance-attributes,bare-except,no-self-use -class TunnelServer(object): +class TunnelServer: def __init__(self, local_addr, local_port, remote_addr, remote_user_name, remote_password): self.local_addr = local_addr self.local_port = local_port diff --git a/src/azure-cli/azure/cli/command_modules/appservice/vsts_cd_provider.py b/src/azure-cli/azure/cli/command_modules/appservice/vsts_cd_provider.py index 430bf56bea4..dc844840d6e 100644 --- a/src/azure-cli/azure/cli/command_modules/appservice/vsts_cd_provider.py +++ b/src/azure-cli/azure/cli/command_modules/appservice/vsts_cd_provider.py @@ -9,7 +9,7 @@ from azure.cli.core._profile import Profile -class VstsContinuousDeliveryProvider(object): +class VstsContinuousDeliveryProvider: def __init__(self): self._progress_last_message = '' diff --git a/src/azure-cli/azure/cli/command_modules/aro/_aad.py b/src/azure-cli/azure/cli/command_modules/aro/_aad.py index 714d499303f..b71ed7c5add 100644 --- a/src/azure-cli/azure/cli/command_modules/aro/_aad.py +++ b/src/azure-cli/azure/cli/command_modules/aro/_aad.py @@ -14,7 +14,7 @@ from azure.graphrbac.models import ServicePrincipalCreateParameters -class AADManager(object): +class AADManager: MANAGED_APP_PREFIX = 'https://az.aro.azure.com/' def __init__(self, cli_ctx): diff --git a/src/azure-cli/azure/cli/command_modules/backup/custom_wl.py b/src/azure-cli/azure/cli/command_modules/backup/custom_wl.py index eac4dcec844..be8c49c4892 100644 --- a/src/azure-cli/azure/cli/command_modules/backup/custom_wl.py +++ b/src/azure-cli/azure/cli/command_modules/backup/custom_wl.py @@ -3,15 +3,14 @@ # Licensed under the MIT License. See License.txt in the project root for license information. # -------------------------------------------------------------------------------------------- -import azure.cli.command_modules.backup.custom_help as cust_help -import azure.cli.command_modules.backup.custom_common as common +from uuid import uuid4 + # pylint: disable=import-error # pylint: disable=broad-except # pylint: disable=too-many-locals # pylint: disable=too-many-statements -from uuid import uuid4 -from azure.cli.command_modules.backup._validators import datetime_type +from knack.log import get_logger from azure.mgmt.recoveryservicesbackup.models import AzureVMAppContainerProtectionContainer, \ AzureWorkloadBackupRequest, ProtectedItemResource, AzureRecoveryServiceVaultProtectionIntent, TargetRestoreInfo, \ @@ -21,10 +20,12 @@ AzureVmWorkloadSAPHanaDatabaseProtectedItem, AzureVmWorkloadSQLDatabaseProtectedItem from azure.cli.core.util import CLIError +from azure.cli.command_modules.backup._validators import datetime_type from azure.cli.command_modules.backup._client_factory import backup_workload_items_cf, \ protectable_containers_cf, backup_protection_containers_cf, backup_protected_items_cf +import azure.cli.command_modules.backup.custom_help as cust_help +import azure.cli.command_modules.backup.custom_common as common -from knack.log import get_logger fabric_name = "Azure" logger = get_logger(__name__) diff --git a/src/azure-cli/azure/cli/command_modules/batch/_command_type.py b/src/azure-cli/azure/cli/command_modules/batch/_command_type.py index c07efe425fe..b9bc417c952 100644 --- a/src/azure-cli/azure/cli/command_modules/batch/_command_type.py +++ b/src/azure-cli/azure/cli/command_modules/batch/_command_type.py @@ -186,7 +186,7 @@ def format_options_name(operation): return "{}_{}_options".format(op_class, op_function) -class BatchArgumentTree(object): +class BatchArgumentTree: """Dependency tree parser for arguments of complex objects""" def __init__(self, validator): @@ -427,7 +427,7 @@ def parse(self, namespace): self.done = True -class AzureBatchDataPlaneCommand(object): +class AzureBatchDataPlaneCommand: # pylint: disable=too-many-instance-attributes, too-few-public-methods, too-many-statements def __init__(self, operation, command_loader, client_factory=None, validator=None, **kwargs): diff --git a/src/azure-cli/azure/cli/command_modules/batch/tests/latest/batch_preparers.py b/src/azure-cli/azure/cli/command_modules/batch/tests/latest/batch_preparers.py index f6e872a2311..f6fdd0f27d9 100644 --- a/src/azure-cli/azure/cli/command_modules/batch/tests/latest/batch_preparers.py +++ b/src/azure-cli/azure/cli/command_modules/batch/tests/latest/batch_preparers.py @@ -47,7 +47,7 @@ def _get_resource_group(self, **kwargs): self.resource_group_parameter_name)) -class BatchScenarioMixin(object): +class BatchScenarioMixin: def set_account_info(self, account_name, group_name): """Returns the batch account name, key, and endpoint in a tuple.""" key = self.get_account_key(account_name, group_name) diff --git a/src/azure-cli/azure/cli/command_modules/botservice/channel_operations.py b/src/azure-cli/azure/cli/command_modules/botservice/channel_operations.py index 645e0cd6a80..718583b19ae 100644 --- a/src/azure-cli/azure/cli/command_modules/botservice/channel_operations.py +++ b/src/azure-cli/azure/cli/command_modules/botservice/channel_operations.py @@ -196,7 +196,7 @@ def slack_create(client, resource_group_name, resource_name, client_id, client_s return create_channel(client, channel, 'SlackChannel', resource_group_name, resource_name) -class ChannelOperations(object): # pylint: disable=too-few-public-methods +class ChannelOperations: # pylint: disable=too-few-public-methods def __init__(self): for channel in ['facebook', 'email', 'msTeams', 'skype', 'kik', 'webChat', 'directLine', 'telegram', 'sms', 'slack']: # pylint: disable=line-too-long channelName = '{}Channel'.format(channel) diff --git a/src/azure-cli/azure/cli/command_modules/cdn/tests/latest/scenario_mixin.py b/src/azure-cli/azure/cli/command_modules/cdn/tests/latest/scenario_mixin.py index f7cdb07bbdf..34406b5eb21 100644 --- a/src/azure-cli/azure/cli/command_modules/cdn/tests/latest/scenario_mixin.py +++ b/src/azure-cli/azure/cli/command_modules/cdn/tests/latest/scenario_mixin.py @@ -9,7 +9,7 @@ def add_tags(command, tags): # pylint: disable=too-many-public-methods -class CdnScenarioMixin(object): +class CdnScenarioMixin: def profile_create_cmd(self, group, name, tags=None, checks=None, options=None, sku=None): command = 'cdn profile create -g {} -n {}'.format(group, name) if tags: diff --git a/src/azure-cli/azure/cli/command_modules/cognitiveservices/custom.py b/src/azure-cli/azure/cli/command_modules/cognitiveservices/custom.py index de9ffbf4bdc..1acc3d1a0ae 100644 --- a/src/azure-cli/azure/cli/command_modules/cognitiveservices/custom.py +++ b/src/azure-cli/azure/cli/command_modules/cognitiveservices/custom.py @@ -3,16 +3,18 @@ # Licensed under the MIT License. See License.txt in the project root for license information. # -------------------------------------------------------------------------------------------- +import json + from knack.prompting import prompt_y_n from knack.util import CLIError from knack.log import get_logger -import json -from azure.cli.command_modules.cognitiveservices._client_factory import cf_accounts, cf_resource_skus from azure.mgmt.cognitiveservices.models import CognitiveServicesAccount, Sku,\ VirtualNetworkRule, IpRule, NetworkRuleSet, NetworkRuleAction,\ CognitiveServicesAccountProperties, CognitiveServicesAccountApiProperties,\ Identity, IdentityType +from azure.cli.command_modules.cognitiveservices._client_factory import cf_accounts, cf_resource_skus + logger = get_logger(__name__) diff --git a/src/azure-cli/azure/cli/command_modules/dla/custom.py b/src/azure-cli/azure/cli/command_modules/dla/custom.py index 6aced58abb4..66b7f0bebb1 100644 --- a/src/azure-cli/azure/cli/command_modules/dla/custom.py +++ b/src/azure-cli/azure/cli/command_modules/dla/custom.py @@ -300,7 +300,7 @@ def wait_adla_job(client, account_name, job_id, wait_interval_sec=5, max_wait_ti job = client.get(account_name, job_id) time_waited_sec = 0 while job.state != JobState.ended: - if max_wait_time_sec > 0 and time_waited_sec >= max_wait_time_sec: + if 0 < time_waited_sec >= max_wait_time_sec: # pylint: disable=line-too-long raise CLIError('Data Lake Analytics Job with ID: {0} has not completed in {1} seconds. Check job runtime or increase the value of --max-wait-time-sec'.format(job_id, time_waited_sec)) logger.info('Job is not yet done. Current job state: \'%s\'', job.state) diff --git a/src/azure-cli/azure/cli/command_modules/feedback/custom.py b/src/azure-cli/azure/cli/command_modules/feedback/custom.py index 50a5fee4e4f..4b82c6f732f 100644 --- a/src/azure-cli/azure/cli/command_modules/feedback/custom.py +++ b/src/azure-cli/azure/cli/command_modules/feedback/custom.py @@ -108,7 +108,7 @@ _LogMetadataType = namedtuple('LogMetadata', ['cmd', 'seconds_ago', 'file_path', 'p_id']) -class CommandLogFile(object): +class CommandLogFile: _LogRecordType = namedtuple("LogRecord", ["p_id", "date_time", "level", "logger", "log_msg"]) UNKNOWN_CMD = "Unknown" @@ -349,7 +349,7 @@ def _get_info_from_log_line(line, p_id): return CommandLogFile._LogRecordType(*parts) -class ErrorMinifier(object): +class ErrorMinifier: _FILE_RE = re.compile(r'File "(.*)"') _CONTINUATION_STR = "...\n" diff --git a/src/azure-cli/azure/cli/command_modules/monitor/_autoscale_util.py b/src/azure-cli/azure/cli/command_modules/monitor/_autoscale_util.py index a76cb7e3124..7aced82d7d4 100644 --- a/src/azure-cli/azure/cli/command_modules/monitor/_autoscale_util.py +++ b/src/azure-cli/azure/cli/command_modules/monitor/_autoscale_util.py @@ -641,7 +641,7 @@ def validate_autoscale_profile(schedule, start, end, recurrence): def _find_conflicting_profile(time): conflict_sched = None for sched_name, sched_values in schedule[day].items(): - if time >= sched_values['start'] and time <= sched_values['end']: + if sched_values['start'] <= time <= sched_values['end']: conflict_sched = sched_name return conflict_sched diff --git a/src/azure-cli/azure/cli/command_modules/monitor/actions.py b/src/azure-cli/azure/cli/command_modules/monitor/actions.py index 843025d8339..5a65405a230 100644 --- a/src/azure-cli/azure/cli/command_modules/monitor/actions.py +++ b/src/azure-cli/azure/cli/command_modules/monitor/actions.py @@ -35,11 +35,11 @@ def timezone_offset_type(value): if hour > 14 or hour < -12: raise CLIError('Offset out of range: -12 to +14') - if hour >= 0 and hour < 10: + if 0 <= hour < 10: value = '+0{}'.format(hour) elif hour >= 10: value = '+{}'.format(hour) - elif hour < 0 and hour > -10: + elif -1 < hour < 0: value = '-0{}'.format(-1 * hour) else: value = str(hour) diff --git a/src/azure-cli/azure/cli/command_modules/monitor/operations/monitor_clone_util.py b/src/azure-cli/azure/cli/command_modules/monitor/operations/monitor_clone_util.py index 4a87dab768f..d7dccd4d74d 100644 --- a/src/azure-cli/azure/cli/command_modules/monitor/operations/monitor_clone_util.py +++ b/src/azure-cli/azure/cli/command_modules/monitor/operations/monitor_clone_util.py @@ -2,12 +2,14 @@ # Copyright (c) Microsoft Corporation. All rights reserved. # Licensed under the MIT License. See License.txt in the project root for license information. # -------------------------------------------------------------------------------------------- -from .._client_factory import cf_monitor -from ..util import gen_guid -from azure.cli.core.commands.transform import _parse_id + from knack.log import get_logger from knack.util import CLIError from msrestazure.tools import parse_resource_id +from azure.cli.core.commands.transform import _parse_id + +from .._client_factory import cf_monitor +from ..util import gen_guid logger = get_logger(__name__) CLONED_NAME = "cloned-{}-{}" diff --git a/src/azure-cli/azure/cli/command_modules/network/_actions.py b/src/azure-cli/azure/cli/command_modules/network/_actions.py index 9fc1fcb890f..3aaabeb5c15 100644 --- a/src/azure-cli/azure/cli/command_modules/network/_actions.py +++ b/src/azure-cli/azure/cli/command_modules/network/_actions.py @@ -3,9 +3,10 @@ # Licensed under the MIT License. See License.txt in the project root for license information. # -------------------------------------------------------------------------------------------- +from collections import defaultdict + import argparse from knack.util import CLIError -from collections import defaultdict # pylint: disable=protected-access diff --git a/src/azure-cli/azure/cli/command_modules/network/private_link_resource_and_endpoint_connections/custom.py b/src/azure-cli/azure/cli/command_modules/network/private_link_resource_and_endpoint_connections/custom.py index 28fc64a0e26..2dded822c7d 100644 --- a/src/azure-cli/azure/cli/command_modules/network/private_link_resource_and_endpoint_connections/custom.py +++ b/src/azure-cli/azure/cli/command_modules/network/private_link_resource_and_endpoint_connections/custom.py @@ -3,9 +3,11 @@ # Licensed under the MIT License. See License.txt in the project root for license information. # -------------------------------------------------------------------------------------------- +from knack.util import CLIError + from .resource_providers import GeneralPrivateEndpointClient from .resource_providers.batch_provider import BatchPrivateEndpointClient -from knack.util import CLIError + TYPE_CLIENT_MAPPING = { # 'Microsoft.Keyvault/vaults': KeyVaultPrivateEndpointClient # vaults diff --git a/src/azure-cli/azure/cli/command_modules/network/private_link_resource_and_endpoint_connections/resource_providers/__init__.py b/src/azure-cli/azure/cli/command_modules/network/private_link_resource_and_endpoint_connections/resource_providers/__init__.py index 0fc062d1009..fc93bc1170d 100644 --- a/src/azure-cli/azure/cli/command_modules/network/private_link_resource_and_endpoint_connections/resource_providers/__init__.py +++ b/src/azure-cli/azure/cli/command_modules/network/private_link_resource_and_endpoint_connections/resource_providers/__init__.py @@ -13,7 +13,7 @@ RETRY_INTERVAL = 10 -class PrivateEndpointClient(object): +class PrivateEndpointClient: __metaclass__ = abc.ABCMeta @abc.abstractmethod diff --git a/src/azure-cli/azure/cli/command_modules/profile/__init__.py b/src/azure-cli/azure/cli/command_modules/profile/__init__.py index 2259a9edda1..4fe7316c378 100644 --- a/src/azure-cli/azure/cli/command_modules/profile/__init__.py +++ b/src/azure-cli/azure/cli/command_modules/profile/__init__.py @@ -8,9 +8,10 @@ from azure.cli.core.commands.parameters import get_enum_type from azure.cli.command_modules.profile._format import transform_account_list -from ._validators import validate_tenant import azure.cli.command_modules.profile._help # pylint: disable=unused-import +from ._validators import validate_tenant + cloud_resource_types = ["oss-rdbms", "arm", "aad-graph", "ms-graph", "batch", "media", "data-lake"] diff --git a/src/azure-cli/azure/cli/command_modules/resource/commands.py b/src/azure-cli/azure/cli/command_modules/resource/commands.py index 905e369aa4f..24d58ddd751 100644 --- a/src/azure-cli/azure/cli/command_modules/resource/commands.py +++ b/src/azure-cli/azure/cli/command_modules/resource/commands.py @@ -7,11 +7,12 @@ from collections import OrderedDict +from knack.log import get_logger + from azure.cli.core.util import empty_on_404 from azure.cli.core.profiles import ResourceType, PROFILE_TYPE from azure.cli.core.commands import CliCommandType, DeploymentOutputLongRunningOperation from azure.cli.core.commands.arm import handle_template_based_exception - from azure.cli.command_modules.resource._client_factory import ( cf_resource_groups, cf_providers, cf_features, cf_tags, cf_deployments, cf_deployment_operations, cf_policy_definitions, cf_policy_set_definitions, cf_resource_links, @@ -19,7 +20,8 @@ from azure.cli.command_modules.resource._validators import process_deployment_create_namespace from ._exception_handler import managementgroups_exception_handler -from knack.log import get_logger + + logger = get_logger(__name__) diff --git a/src/azure-cli/azure/cli/command_modules/resource/custom.py b/src/azure-cli/azure/cli/command_modules/resource/custom.py index 521ba442ba0..fc681423b4f 100644 --- a/src/azure-cli/azure/cli/command_modules/resource/custom.py +++ b/src/azure-cli/azure/cli/command_modules/resource/custom.py @@ -360,7 +360,7 @@ def _deploy_arm_template_core_unmodified(cli_ctx, resource_group_name, template_ return sdk_no_wait(no_wait, deployment_client.create_or_update, resource_group_name, deployment_name, properties) -class JsonCTemplate(object): +class JsonCTemplate: def __init__(self, template_as_bytes): self.template_as_bytes = template_as_bytes @@ -2489,7 +2489,7 @@ def list_resource_links(cmd, scope=None, filter_string=None): # endregion -class _ResourceUtils(object): # pylint: disable=too-many-instance-attributes +class _ResourceUtils: # pylint: disable=too-many-instance-attributes def __init__(self, cli_ctx, resource_group_name=None, resource_provider_namespace=None, parent_resource_path=None, resource_type=None, resource_name=None, diff --git a/src/azure-cli/azure/cli/command_modules/role/_multi_api_adaptor.py b/src/azure-cli/azure/cli/command_modules/role/_multi_api_adaptor.py index 23f35c79636..e70955edfa6 100644 --- a/src/azure-cli/azure/cli/command_modules/role/_multi_api_adaptor.py +++ b/src/azure-cli/azure/cli/command_modules/role/_multi_api_adaptor.py @@ -6,7 +6,7 @@ from azure.cli.core.profiles import ResourceType, get_sdk, supported_api_version -class MultiAPIAdaptor(object): +class MultiAPIAdaptor: # We will bridge all the code difference here caused by SDK breaking changes def __init__(self, cli_ctx): self.old_api = supported_api_version(cli_ctx, resource_type=ResourceType.MGMT_AUTHORIZATION, diff --git a/src/azure-cli/azure/cli/command_modules/servicefabric/custom.py b/src/azure-cli/azure/cli/command_modules/servicefabric/custom.py index 8ab4a9a3979..88c56f1a7e7 100644 --- a/src/azure-cli/azure/cli/command_modules/servicefabric/custom.py +++ b/src/azure-cli/azure/cli/command_modules/servicefabric/custom.py @@ -1298,13 +1298,13 @@ def _get_target_instance(reliability_level): # pylint: disable=inconsistent-return-statements def _get_reliability_level(cluster_size): size = int(cluster_size) - if size > 0 and size < 3: + if 0 < size < 3: return 'None' - if size >= 3 and size < 5: + if 3 <= size < 5: return 'Bronze' - if size >= 5 and size < 7: + if 5 <= size < 7: return 'Silver' - if size >= 7 and size < 9: + if 7 <= size < 9: return 'Gold' if size >= 9: return 'Platinum' diff --git a/src/azure-cli/azure/cli/command_modules/signalr/_params.py b/src/azure-cli/azure/cli/command_modules/signalr/_params.py index 877c247f46d..9f264dbc5a0 100644 --- a/src/azure-cli/azure/cli/command_modules/signalr/_params.py +++ b/src/azure-cli/azure/cli/command_modules/signalr/_params.py @@ -6,6 +6,7 @@ from knack.log import get_logger +from azure.mgmt.signalr.models import SignalRRequestType from azure.cli.core.commands.validators import get_default_location_from_resource_group from azure.cli.core.commands.parameters import ( resource_group_name_type, @@ -23,7 +24,6 @@ SIGNALR_KEY_TYPE, SIGNALR_SERVICE_MODE_TYPE ) -from azure.mgmt.signalr.models import SignalRRequestType logger = get_logger(__name__) diff --git a/src/azure-cli/azure/cli/command_modules/sql/custom.py b/src/azure-cli/azure/cli/command_modules/sql/custom.py index 8ef9f3a77c9..841415bdb72 100644 --- a/src/azure-cli/azure/cli/command_modules/sql/custom.py +++ b/src/azure-cli/azure/cli/command_modules/sql/custom.py @@ -5,6 +5,9 @@ # pylint: disable=C0302 from enum import Enum +import calendar +from datetime import datetime +from dateutil.parser import parse from azure.cli.core.util import ( CLIError, @@ -50,9 +53,6 @@ get_sql_restorable_dropped_database_managed_backup_short_term_retention_policies_operations, ) -from datetime import datetime -from dateutil.parser import parse -import calendar logger = get_logger(__name__) diff --git a/src/azure-cli/azure/cli/command_modules/storage/azcopy/util.py b/src/azure-cli/azure/cli/command_modules/storage/azcopy/util.py index eb10322adb8..80efa39d798 100644 --- a/src/azure-cli/azure/cli/command_modules/storage/azcopy/util.py +++ b/src/azure-cli/azure/cli/command_modules/storage/azcopy/util.py @@ -26,7 +26,7 @@ AZCOPY_VERSION = '10.3.3' -class AzCopy(object): +class AzCopy: def __init__(self, creds=None): self.system = platform.system() install_location = _get_default_install_location() @@ -93,7 +93,7 @@ def sync(self, source, destination, flags=None): self.run_command(['sync', source, destination] + flags) -class AzCopyCredentials(object): # pylint: disable=too-few-public-methods +class AzCopyCredentials: # pylint: disable=too-few-public-methods def __init__(self, sas_token=None, token_info=None): self.sas_token = sas_token self.token_info = token_info diff --git a/src/azure-cli/azure/cli/command_modules/storage/oauth_token_util.py b/src/azure-cli/azure/cli/command_modules/storage/oauth_token_util.py index 20e21537498..df1bd704b17 100644 --- a/src/azure-cli/azure/cli/command_modules/storage/oauth_token_util.py +++ b/src/azure-cli/azure/cli/command_modules/storage/oauth_token_util.py @@ -9,7 +9,7 @@ logger = get_logger(__name__) -class TokenUpdater(object): +class TokenUpdater: """ This class updates a given token_credential periodically using the provided callback function. It shows one way of making sure the credential does not become expired. diff --git a/src/azure-cli/azure/cli/command_modules/storage/operations/azcopy.py b/src/azure-cli/azure/cli/command_modules/storage/operations/azcopy.py index 118d1e37661..7b76c511278 100644 --- a/src/azure-cli/azure/cli/command_modules/storage/operations/azcopy.py +++ b/src/azure-cli/azure/cli/command_modules/storage/operations/azcopy.py @@ -4,9 +4,10 @@ # -------------------------------------------------------------------------------------------- from __future__ import print_function -from ..azcopy.util import AzCopy, client_auth_for_azcopy, login_auth_for_azcopy from azure.cli.command_modules.storage._client_factory import blob_data_service_factory, file_data_service_factory +from ..azcopy.util import AzCopy, client_auth_for_azcopy, login_auth_for_azcopy + # pylint: disable=too-many-statements, too-many-locals diff --git a/src/azure-cli/azure/cli/command_modules/storage/services_wrapper.py b/src/azure-cli/azure/cli/command_modules/storage/services_wrapper.py index 22e739bb1fe..30253894fe8 100644 --- a/src/azure-cli/azure/cli/command_modules/storage/services_wrapper.py +++ b/src/azure-cli/azure/cli/command_modules/storage/services_wrapper.py @@ -8,7 +8,7 @@ from ._client_factory import generic_data_service_factory -class ServiceProperties(object): +class ServiceProperties: def __init__(self, cli_ctx, name, service, account_name=None, account_key=None, connection_string=None, sas_token=None): self.cli_ctx = cli_ctx diff --git a/src/azure-cli/azure/cli/command_modules/storage/storage_url_helpers.py b/src/azure-cli/azure/cli/command_modules/storage/storage_url_helpers.py index c6df2820f87..94a357c4753 100644 --- a/src/azure-cli/azure/cli/command_modules/storage/storage_url_helpers.py +++ b/src/azure-cli/azure/cli/command_modules/storage/storage_url_helpers.py @@ -10,7 +10,7 @@ # pylint: disable=too-few-public-methods, too-many-instance-attributes -class StorageResourceIdentifier(object): +class StorageResourceIdentifier: def __init__(self, cloud, moniker): self.is_valid = False self.account_name = None diff --git a/src/azure-cli/azure/cli/command_modules/storage/tests/storage_test_util.py b/src/azure-cli/azure/cli/command_modules/storage/tests/storage_test_util.py index 29c0665a803..2c169c6f4a8 100644 --- a/src/azure-cli/azure/cli/command_modules/storage/tests/storage_test_util.py +++ b/src/azure-cli/azure/cli/command_modules/storage/tests/storage_test_util.py @@ -10,7 +10,7 @@ from azure.cli.testsdk.preparers import AbstractPreparer -class StorageScenarioMixin(object): +class StorageScenarioMixin: profile = None def get_current_profile(self): diff --git a/src/azure-cli/azure/cli/command_modules/vm/custom.py b/src/azure-cli/azure/cli/command_modules/vm/custom.py index 79ca115ed6c..c73c7a427b5 100644 --- a/src/azure-cli/azure/cli/command_modules/vm/custom.py +++ b/src/azure-cli/azure/cli/command_modules/vm/custom.py @@ -1351,7 +1351,7 @@ def enable_boot_diagnostics(cmd, resource_group_name, vm_name, storage): set_vm(cmd, vm, ExtensionUpdateLongRunningOperation(cmd.cli_ctx, 'enabling boot diagnostics', 'done')) -class BootLogStreamWriter(object): # pylint: disable=too-few-public-methods +class BootLogStreamWriter: # pylint: disable=too-few-public-methods def __init__(self, out): self.out = out