From bb39e67c8f07424763553989bde5f6d8f4fc712a Mon Sep 17 00:00:00 2001 From: Felix Fontein Date: Mon, 6 Oct 2025 18:57:33 +0200 Subject: [PATCH] Make CI pass; add black and isort to CI; add reformat commit to .git-blame-ignore-revs. --- .git-blame-ignore-revs | 2 ++ .isort.cfg | 7 +++++++ antsibull-nox.toml | 5 +++-- plugins/module_utils/_api/_import_helper.py | 6 +++--- plugins/module_utils/_api/api/client.py | 2 +- plugins/module_utils/_api/tls.py | 2 +- plugins/module_utils/_api/transport/npipeconn.py | 2 +- plugins/module_utils/_api/transport/sshconn.py | 6 +++--- plugins/module_utils/common.py | 6 +++++- plugins/module_utils/common_api.py | 7 ++++++- plugins/module_utils/compose_v2.py | 10 +++------- 11 files changed, 35 insertions(+), 20 deletions(-) create mode 100644 .isort.cfg diff --git a/.git-blame-ignore-revs b/.git-blame-ignore-revs index 122bebfe..3ee110b0 100644 --- a/.git-blame-ignore-revs +++ b/.git-blame-ignore-revs @@ -4,3 +4,5 @@ # Reformat YAML: https://github.com/ansible-collections/community.docker/pull/1071 2487d1a0bf4f2c79d3ab5a9e7d0f969432bf32a2 +# Reformat with black and isort +d65d37e9e9a78e03a35643704b413121515ee39c diff --git a/.isort.cfg b/.isort.cfg new file mode 100644 index 00000000..bf8cf046 --- /dev/null +++ b/.isort.cfg @@ -0,0 +1,7 @@ +# Copyright (c) Ansible Project +# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt) +# SPDX-License-Identifier: GPL-3.0-or-later + +[isort] +profile=black +lines_after_imports = 2 diff --git a/antsibull-nox.toml b/antsibull-nox.toml index 5e67f64f..c5295df4 100644 --- a/antsibull-nox.toml +++ b/antsibull-nox.toml @@ -16,8 +16,9 @@ stable_branches = [ "stable-*" ] [sessions] [sessions.lint] -run_isort = false -run_black = false +run_isort = true +isort_config = ".isort.cfg" +run_black = true run_flake8 = false run_pylint = false run_yamllint = true diff --git a/plugins/module_utils/_api/_import_helper.py b/plugins/module_utils/_api/_import_helper.py index 058f3fa8..15c87a95 100644 --- a/plugins/module_utils/_api/_import_helper.py +++ b/plugins/module_utils/_api/_import_helper.py @@ -43,9 +43,9 @@ except ImportError: try: from requests.packages import urllib3 # pylint: disable=unused-import - from requests.packages.urllib3 import ( - connection as urllib3_connection, # pylint: disable=unused-import - ) + + # pylint: disable-next=unused-import + from requests.packages.urllib3 import connection as urllib3_connection except ImportError: try: import urllib3 # pylint: disable=unused-import diff --git a/plugins/module_utils/_api/api/client.py b/plugins/module_utils/_api/api/client.py index 32d35312..14cb3b06 100644 --- a/plugins/module_utils/_api/api/client.py +++ b/plugins/module_utils/_api/api/client.py @@ -231,7 +231,7 @@ class APIClient(_Session, DaemonApiMixin): return version_result["ApiVersion"] except KeyError: raise DockerException( - 'Invalid response from docker daemon: key "ApiVersion"' " is missing." + 'Invalid response from docker daemon: key "ApiVersion" is missing.' ) except Exception as e: raise DockerException( diff --git a/plugins/module_utils/_api/tls.py b/plugins/module_utils/_api/tls.py index e77f5c36..5ba608e3 100644 --- a/plugins/module_utils/_api/tls.py +++ b/plugins/module_utils/_api/tls.py @@ -68,7 +68,7 @@ class TLSConfig(object): tls_cert, tls_key = client_cert except ValueError: raise errors.TLSParameterError( - "client_cert must be a tuple of" " (client certificate, key file)" + "client_cert must be a tuple of (client certificate, key file)" ) if not (tls_cert and tls_key) or ( diff --git a/plugins/module_utils/_api/transport/npipeconn.py b/plugins/module_utils/_api/transport/npipeconn.py index 588e7b07..c31dbbe2 100644 --- a/plugins/module_utils/_api/transport/npipeconn.py +++ b/plugins/module_utils/_api/transport/npipeconn.py @@ -59,7 +59,7 @@ class NpipeHTTPConnectionPool(urllib3.connectionpool.HTTPConnectionPool): if self.block: raise urllib3.exceptions.EmptyPoolError( self, - "Pool reached maximum size and no more " "connections are allowed.", + "Pool reached maximum size and no more connections are allowed.", ) pass # Oh well, we'll create a new connection then diff --git a/plugins/module_utils/_api/transport/sshconn.py b/plugins/module_utils/_api/transport/sshconn.py index c52b8cb0..16e4e7eb 100644 --- a/plugins/module_utils/_api/transport/sshconn.py +++ b/plugins/module_utils/_api/transport/sshconn.py @@ -81,7 +81,7 @@ class SSHSocket(socket.socket): def _write(self, data): if not self.proc or self.proc.stdin.closed: raise Exception( - "SSH subprocess not initiated." "connect() must be called first." + "SSH subprocess not initiated. connect() must be called first." ) written = self.proc.stdin.write(data) self.proc.stdin.flush() @@ -96,7 +96,7 @@ class SSHSocket(socket.socket): def recv(self, n): if not self.proc: raise Exception( - "SSH subprocess not initiated." "connect() must be called first." + "SSH subprocess not initiated. connect() must be called first." ) return self.proc.stdout.read(n) @@ -166,7 +166,7 @@ class SSHConnectionPool(urllib3.connectionpool.HTTPConnectionPool): if self.block: raise urllib3.exceptions.EmptyPoolError( self, - "Pool reached maximum size and no more " "connections are allowed.", + "Pool reached maximum size and no more connections are allowed.", ) pass # Oh well, we'll create a new connection then diff --git a/plugins/module_utils/common.py b/plugins/module_utils/common.py index 1c658e70..dbf16e44 100644 --- a/plugins/module_utils/common.py +++ b/plugins/module_utils/common.py @@ -80,6 +80,7 @@ except ImportError: pass +# pylint: disable=unused-import from ansible_collections.community.docker.plugins.module_utils.util import ( BYTE_SUFFIXES, # TODO: remove ) @@ -122,7 +123,7 @@ from ansible_collections.community.docker.plugins.module_utils.util import ( from ansible_collections.community.docker.plugins.module_utils.util import ( parse_healthcheck, # TODO: remove ) -from ansible_collections.community.docker.plugins.module_utils.util import ( # noqa: F401, pylint: disable=unused-import +from ansible_collections.community.docker.plugins.module_utils.util import ( # noqa: F401 DEFAULT_DOCKER_HOST, DEFAULT_TIMEOUT_SECONDS, DEFAULT_TLS, @@ -135,6 +136,9 @@ from ansible_collections.community.docker.plugins.module_utils.util import ( # ) +# pylint: enable=unused-import + + MIN_DOCKER_VERSION = "1.8.0" diff --git a/plugins/module_utils/common_api.py b/plugins/module_utils/common_api.py index d0c1dd44..f4174a6b 100644 --- a/plugins/module_utils/common_api.py +++ b/plugins/module_utils/common_api.py @@ -43,6 +43,8 @@ from ansible_collections.community.docker.plugins.module_utils._api.utils.utils convert_filters, parse_repository_tag, ) + +# pylint: disable=unused-import from ansible_collections.community.docker.plugins.module_utils.util import ( DEFAULT_DOCKER_REGISTRY, # TODO: remove ) @@ -55,7 +57,7 @@ from ansible_collections.community.docker.plugins.module_utils.util import ( from ansible_collections.community.docker.plugins.module_utils.util import ( is_valid_tag, # TODO: remove ) -from ansible_collections.community.docker.plugins.module_utils.util import ( # noqa: F401, pylint: disable=unused-import +from ansible_collections.community.docker.plugins.module_utils.util import ( # noqa: F401 DEFAULT_DOCKER_HOST, DEFAULT_TIMEOUT_SECONDS, DEFAULT_TLS, @@ -68,6 +70,9 @@ from ansible_collections.community.docker.plugins.module_utils.util import ( # ) +# pylint: enable=unused-import + + def _get_tls_config(fail_function, **kwargs): try: tls_config = TLSConfig(**kwargs) diff --git a/plugins/module_utils/compose_v2.py b/plugins/module_utils/compose_v2.py index 1d447da7..bb872ee4 100644 --- a/plugins/module_utils/compose_v2.py +++ b/plugins/module_utils/compose_v2.py @@ -214,9 +214,7 @@ _RE_WARNING_EVENT = re.compile( r"$" % "|".join(re.escape(status) for status in DOCKER_STATUS_WARNING) ) -_RE_CONTINUE_EVENT = re.compile( - r"^" r"\s*" r"(?P\S+)" r"\s+" r"-" r"\s*" r"(?P\S(?:|.*\S))" r"$" -) +_RE_CONTINUE_EVENT = re.compile(r"^\s*(?P\S+)\s+-\s*(?P\S(?:|.*\S))$") _RE_SKIPPED_EVENT = re.compile( r"^" @@ -229,11 +227,9 @@ _RE_SKIPPED_EVENT = re.compile( r"$" ) -_RE_BUILD_START_EVENT = re.compile( - r"^" r"\s*" r"build service" r"\s+" r"(?P\S+)" r"$" -) +_RE_BUILD_START_EVENT = re.compile(r"^\s*build service\s+(?P\S+)$") -_RE_BUILD_PROGRESS_EVENT = re.compile(r"^" r"\s*" r"==>" r"\s+" r"(?P.*)" r"$") +_RE_BUILD_PROGRESS_EVENT = re.compile(r"^\s*==>\s+(?P.*)$") # The following needs to be kept in sync with the MINIMUM_VERSION compose_v2 docs fragment MINIMUM_COMPOSE_VERSION = "2.18.0"