mirror of
https://github.com/ansible-collections/community.docker.git
synced 2026-04-11 20:29:57 +00:00
Address no-else-return.
This commit is contained in:
parent
e3b07ed6b2
commit
f9cd56a985
@ -384,7 +384,6 @@ disable=raw-checker-failed,
|
||||
consider-using-with,
|
||||
fixme,
|
||||
import-error, # TODO figure out why pylint cannot find the module
|
||||
no-else-return,
|
||||
no-member,
|
||||
no-name-in-module, # TODO figure out why pylint cannot find the module
|
||||
not-an-iterable, # TODO: needs better typing info
|
||||
|
||||
@ -349,7 +349,6 @@ class Connection(ConnectionBase):
|
||||
) >= LooseVersion("1.7"):
|
||||
# Support for specifying the exec user was added in docker 1.7
|
||||
return self.remote_user
|
||||
else:
|
||||
self.remote_user = None
|
||||
actual_user = self._get_docker_remote_user()
|
||||
if actual_user != self.get_option("remote_user"):
|
||||
@ -357,12 +356,11 @@ class Connection(ConnectionBase):
|
||||
f'docker {self.docker_version} does not support remote_user, using container default: {actual_user or "?"}'
|
||||
)
|
||||
return actual_user
|
||||
elif self._display.verbosity > 2:
|
||||
if self._display.verbosity > 2:
|
||||
# Since we are not setting the actual_user, look it up so we have it for logging later
|
||||
# Only do this if display verbosity is high enough that we'll need the value
|
||||
# This saves overhead from calling into docker when we do not need to.
|
||||
return self._get_docker_remote_user()
|
||||
else:
|
||||
return None
|
||||
|
||||
def _connect(self, port=None):
|
||||
@ -487,7 +485,6 @@ class Connection(ConnectionBase):
|
||||
import ntpath
|
||||
|
||||
return ntpath.normpath(remote_path)
|
||||
else:
|
||||
if not remote_path.startswith(os.path.sep):
|
||||
remote_path = os.path.join(os.path.sep, remote_path)
|
||||
return os.path.normpath(remote_path)
|
||||
|
||||
@ -369,7 +369,6 @@ class Connection(ConnectionBase):
|
||||
import ntpath
|
||||
|
||||
return ntpath.normpath(remote_path)
|
||||
else:
|
||||
if not remote_path.startswith(os.path.sep):
|
||||
remote_path = os.path.join(os.path.sep, remote_path)
|
||||
return os.path.normpath(remote_path)
|
||||
|
||||
@ -217,11 +217,11 @@ class InventoryModule(BaseInventoryPlugin, Constructable, Cacheable):
|
||||
if daemon_env == "require":
|
||||
display.warning(f"{warning_prefix}: host will be skipped")
|
||||
return True
|
||||
else: # 'optional', 'optional-silently'
|
||||
if daemon_env == "optional":
|
||||
display.warning(
|
||||
f"{warning_prefix}: host will lack dm_DOCKER_xxx variables"
|
||||
)
|
||||
# daemon_env is 'optional-silently'
|
||||
return False
|
||||
|
||||
def _populate(self):
|
||||
|
||||
@ -278,7 +278,6 @@ class APIClient(_Session, DaemonApiMixin):
|
||||
|
||||
if kwargs.get("versioned_api", True):
|
||||
return f"{self.base_url}/v{self._version}{pathfmt.format(*args)}"
|
||||
else:
|
||||
return f"{self.base_url}{pathfmt.format(*args)}"
|
||||
|
||||
def _raise_for_status(self, response):
|
||||
@ -427,7 +426,6 @@ class APIClient(_Session, DaemonApiMixin):
|
||||
|
||||
if stream:
|
||||
return gen
|
||||
else:
|
||||
try:
|
||||
# Wait for all the frames, concatenate them, and return the result
|
||||
return consume_socket_output(gen, demux=demux)
|
||||
@ -484,7 +482,6 @@ class APIClient(_Session, DaemonApiMixin):
|
||||
sep = b""
|
||||
if stream:
|
||||
return self._multiplexed_response_stream_helper(res)
|
||||
else:
|
||||
return sep.join(list(self._multiplexed_buffer_helper(res)))
|
||||
|
||||
def _unmount(self, *args):
|
||||
@ -497,7 +494,6 @@ class APIClient(_Session, DaemonApiMixin):
|
||||
except _InvalidSchema as e:
|
||||
if self._custom_adapter:
|
||||
return self._custom_adapter
|
||||
else:
|
||||
raise e
|
||||
|
||||
@property
|
||||
|
||||
@ -68,7 +68,6 @@ def home_dir():
|
||||
"""
|
||||
if IS_WINDOWS_PLATFORM:
|
||||
return os.environ.get("USERPROFILE", "")
|
||||
else:
|
||||
return os.path.expanduser("~")
|
||||
|
||||
|
||||
|
||||
@ -90,7 +90,6 @@ def split_port(port):
|
||||
if external is not None and len(internal) != len(external):
|
||||
raise ValueError("Port ranges don't match in length")
|
||||
return internal, external
|
||||
else:
|
||||
if not external:
|
||||
external = [None] * len(internal)
|
||||
elif len(internal) != len(external):
|
||||
|
||||
@ -111,7 +111,6 @@ def frames_iter(socket, tty):
|
||||
"""
|
||||
if tty:
|
||||
return ((STDOUT, frame) for frame in frames_iter_tty(socket))
|
||||
else:
|
||||
return frames_iter_no_tty(socket)
|
||||
|
||||
|
||||
@ -194,7 +193,6 @@ def demux_adaptor(stream_id, data):
|
||||
"""
|
||||
if stream_id == STDOUT:
|
||||
return (data, None)
|
||||
elif stream_id == STDERR:
|
||||
if stream_id == STDERR:
|
||||
return (None, data)
|
||||
else:
|
||||
raise ValueError(f"{stream_id} is not a valid stream")
|
||||
|
||||
@ -75,9 +75,8 @@ def compare_version(v1, v2):
|
||||
s2 = StrictVersion(v2)
|
||||
if s1 == s2:
|
||||
return 0
|
||||
elif s1 > s2:
|
||||
if s1 > s2:
|
||||
return -1
|
||||
else:
|
||||
return 1
|
||||
|
||||
|
||||
|
||||
@ -133,10 +133,9 @@ def parse_line(line, logrus_mode=False):
|
||||
key.append(cur)
|
||||
parser.next()
|
||||
return _Mode.KEY
|
||||
elif cur == "=":
|
||||
if cur == "=":
|
||||
parser.next()
|
||||
return _Mode.EQUAL
|
||||
else:
|
||||
if logrus_mode:
|
||||
raise InvalidLogFmt('Key must always be followed by "=" in logrus mode')
|
||||
handle_kv(has_no_value=True)
|
||||
@ -148,10 +147,9 @@ def parse_line(line, logrus_mode=False):
|
||||
value.append(cur)
|
||||
parser.next()
|
||||
return _Mode.IDENT_VALUE
|
||||
elif cur == '"':
|
||||
if cur == '"':
|
||||
parser.next()
|
||||
return _Mode.QUOTED_VALUE
|
||||
else:
|
||||
handle_kv()
|
||||
parser.next()
|
||||
return _Mode.GARBAGE
|
||||
@ -161,7 +159,6 @@ def parse_line(line, logrus_mode=False):
|
||||
value.append(cur)
|
||||
parser.next()
|
||||
return _Mode.IDENT_VALUE
|
||||
else:
|
||||
handle_kv()
|
||||
parser.next()
|
||||
return _Mode.GARBAGE
|
||||
@ -182,13 +179,12 @@ def parse_line(line, logrus_mode=False):
|
||||
value.append(parser.parse_unicode_sequence())
|
||||
parser.next()
|
||||
return _Mode.QUOTED_VALUE
|
||||
elif cur == '"':
|
||||
if cur == '"':
|
||||
handle_kv()
|
||||
parser.next()
|
||||
return _Mode.GARBAGE
|
||||
elif cur < " ":
|
||||
if cur < " ":
|
||||
raise InvalidLogFmt("Control characters in quoted string are not allowed")
|
||||
else:
|
||||
value.append(cur)
|
||||
parser.next()
|
||||
return _Mode.QUOTED_VALUE
|
||||
|
||||
@ -436,7 +436,6 @@ def _parse_port_range(range_or_port, module):
|
||||
if end < start:
|
||||
module.fail_json(msg=f'Invalid port range: "{range_or_port}"')
|
||||
return list(range(start, end + 1))
|
||||
else:
|
||||
try:
|
||||
return [int(range_or_port)]
|
||||
except ValueError:
|
||||
|
||||
@ -347,7 +347,6 @@ class DockerAPIEngineDriver(EngineDriver):
|
||||
)
|
||||
output = client._get_result_tty(False, res, config["Config"]["Tty"])
|
||||
return output, True
|
||||
else:
|
||||
return f"Result logged using `{logging_driver}` driver", False
|
||||
|
||||
def update_container(self, client, container_id, update_parameters):
|
||||
|
||||
@ -85,7 +85,6 @@ class DockerSocketHandlerBase:
|
||||
if "OpenSSL.SSL.ZeroReturnError" in str(type(e)):
|
||||
self._eof = True
|
||||
return
|
||||
else:
|
||||
raise
|
||||
elif isinstance(self._sock, getattr(pysocket, "SocketIO")):
|
||||
data = self._sock.read()
|
||||
|
||||
@ -67,7 +67,6 @@ def write_to_socket(sock, data):
|
||||
# WrappedSocket (urllib3/contrib/pyopenssl) does not have `send`, but
|
||||
# only `sendall`, which uses `_send_until_done` under the hood.
|
||||
return sock._send_until_done(data)
|
||||
elif hasattr(sock, "send"):
|
||||
if hasattr(sock, "send"):
|
||||
return sock.send(data)
|
||||
else:
|
||||
return os.write(sock.fileno(), data)
|
||||
|
||||
@ -74,22 +74,18 @@ class AnsibleDockerSwarmClient(AnsibleDockerClient):
|
||||
swarm_info = json.loads(json_str)
|
||||
if swarm_info["Swarm"]["NodeID"]:
|
||||
return True
|
||||
if swarm_info["Swarm"]["LocalNodeState"] in (
|
||||
return swarm_info["Swarm"]["LocalNodeState"] in (
|
||||
"active",
|
||||
"pending",
|
||||
"locked",
|
||||
):
|
||||
return True
|
||||
)
|
||||
return False
|
||||
else:
|
||||
try:
|
||||
node_info = self.get_node_inspect(node_id=node_id)
|
||||
except APIError:
|
||||
return
|
||||
|
||||
if node_info["ID"] is not None:
|
||||
return True
|
||||
return False
|
||||
return node_info["ID"] is not None
|
||||
|
||||
def check_if_swarm_manager(self):
|
||||
"""
|
||||
|
||||
@ -98,9 +98,8 @@ def sanitize_result(data):
|
||||
"""
|
||||
if isinstance(data, dict):
|
||||
return dict((k, sanitize_result(v)) for k, v in data.items())
|
||||
elif isinstance(data, (list, tuple)):
|
||||
if isinstance(data, (list, tuple)):
|
||||
return [sanitize_result(v) for v in data]
|
||||
else:
|
||||
return data
|
||||
|
||||
|
||||
@ -194,10 +193,9 @@ def compare_generic(a, b, method, datatype):
|
||||
# Do proper comparison (both objects not None)
|
||||
if datatype == "value":
|
||||
return a == b
|
||||
elif datatype == "list":
|
||||
if datatype == "list":
|
||||
if method == "strict":
|
||||
return a == b
|
||||
else:
|
||||
i = 0
|
||||
for v in a:
|
||||
while i < len(b) and b[i] != v:
|
||||
@ -206,19 +204,17 @@ def compare_generic(a, b, method, datatype):
|
||||
return False
|
||||
i += 1
|
||||
return True
|
||||
elif datatype == "dict":
|
||||
if datatype == "dict":
|
||||
if method == "strict":
|
||||
return a == b
|
||||
else:
|
||||
return compare_dict_allow_more_present(a, b)
|
||||
elif datatype == "set":
|
||||
if datatype == "set":
|
||||
set_a = set(a)
|
||||
set_b = set(b)
|
||||
if method == "strict":
|
||||
return set_a == set_b
|
||||
else:
|
||||
return set_b >= set_a
|
||||
elif datatype == "set(dict)":
|
||||
if datatype == "set(dict)":
|
||||
for av in a:
|
||||
found = False
|
||||
for bv in b:
|
||||
@ -335,9 +331,8 @@ def clean_dict_booleans_for_docker_api(data, allow_sequences=False):
|
||||
def sanitize(value):
|
||||
if value is True:
|
||||
return "true"
|
||||
elif value is False:
|
||||
if value is False:
|
||||
return "false"
|
||||
else:
|
||||
return str(value)
|
||||
|
||||
result = dict()
|
||||
|
||||
@ -343,31 +343,31 @@ def retrieve_diff(
|
||||
diff["before_header"] = container_path
|
||||
diff["before"] = "(directory)"
|
||||
return
|
||||
elif regular_stat["mode"] & (1 << (32 - 4)) != 0:
|
||||
if regular_stat["mode"] & (1 << (32 - 4)) != 0:
|
||||
diff["before_header"] = container_path
|
||||
diff["before"] = "(temporary file)"
|
||||
return
|
||||
elif regular_stat["mode"] & (1 << (32 - 5)) != 0:
|
||||
if regular_stat["mode"] & (1 << (32 - 5)) != 0:
|
||||
diff["before_header"] = container_path
|
||||
diff["before"] = link_target
|
||||
return
|
||||
elif regular_stat["mode"] & (1 << (32 - 6)) != 0:
|
||||
if regular_stat["mode"] & (1 << (32 - 6)) != 0:
|
||||
diff["before_header"] = container_path
|
||||
diff["before"] = "(device)"
|
||||
return
|
||||
elif regular_stat["mode"] & (1 << (32 - 7)) != 0:
|
||||
if regular_stat["mode"] & (1 << (32 - 7)) != 0:
|
||||
diff["before_header"] = container_path
|
||||
diff["before"] = "(named pipe)"
|
||||
return
|
||||
elif regular_stat["mode"] & (1 << (32 - 8)) != 0:
|
||||
if regular_stat["mode"] & (1 << (32 - 8)) != 0:
|
||||
diff["before_header"] = container_path
|
||||
diff["before"] = "(socket)"
|
||||
return
|
||||
elif regular_stat["mode"] & (1 << (32 - 11)) != 0:
|
||||
if regular_stat["mode"] & (1 << (32 - 11)) != 0:
|
||||
diff["before_header"] = container_path
|
||||
diff["before"] = "(character device)"
|
||||
return
|
||||
elif regular_stat["mode"] & (1 << (32 - 13)) != 0:
|
||||
if regular_stat["mode"] & (1 << (32 - 13)) != 0:
|
||||
diff["before_header"] = container_path
|
||||
diff["before"] = "(unknown filesystem object)"
|
||||
return
|
||||
|
||||
@ -271,7 +271,6 @@ class DockerHostManager(DockerBaseClass):
|
||||
try:
|
||||
if self.verbose_output:
|
||||
return self.client.df()
|
||||
else:
|
||||
return dict(LayersSize=self.client.df()["LayersSize"])
|
||||
except APIError as exc:
|
||||
self.client.fail(f"Error inspecting docker host: {exc}")
|
||||
|
||||
@ -656,12 +656,11 @@ class ImageManager(DockerBaseClass):
|
||||
|
||||
if archived is None:
|
||||
return build_msg("since none present")
|
||||
elif (
|
||||
if (
|
||||
current_image_id == api_image_id(archived.image_id)
|
||||
and [current_image_name] == archived.repo_tags
|
||||
):
|
||||
return None
|
||||
else:
|
||||
name = ", ".join(archived.repo_tags)
|
||||
|
||||
return build_msg(
|
||||
@ -1076,7 +1075,6 @@ class ImageManager(DockerBaseClass):
|
||||
|
||||
if is_image_name_id(self.name):
|
||||
return self.client.find_image_by_id(self.name, accept_missing_image=True)
|
||||
else:
|
||||
return self.client.find_image(self.name, self.tag)
|
||||
|
||||
|
||||
|
||||
@ -359,7 +359,7 @@ def validate_cidr(cidr):
|
||||
"""
|
||||
if CIDR_IPV4.match(cidr):
|
||||
return "ipv4"
|
||||
elif CIDR_IPV6.match(cidr):
|
||||
if CIDR_IPV6.match(cidr):
|
||||
return "ipv6"
|
||||
raise ValueError(f'"{cidr}" is not a valid CIDR')
|
||||
|
||||
|
||||
@ -196,7 +196,6 @@ def docker_service_inspect(client, service_name):
|
||||
rc, out, err = client.call_cli("service", "inspect", service_name)
|
||||
if rc != 0:
|
||||
return None
|
||||
else:
|
||||
ret = json.loads(out)[0]["Spec"]
|
||||
return ret
|
||||
|
||||
|
||||
@ -932,7 +932,6 @@ def get_docker_environment(env, env_files):
|
||||
if not env_list:
|
||||
if env is not None or env_files is not None:
|
||||
return []
|
||||
else:
|
||||
return None
|
||||
return sorted(env_list)
|
||||
|
||||
@ -992,14 +991,13 @@ def get_docker_networks(networks, network_ids):
|
||||
def get_nanoseconds_from_raw_option(name, value):
|
||||
if value is None:
|
||||
return None
|
||||
elif isinstance(value, int):
|
||||
if isinstance(value, int):
|
||||
return value
|
||||
elif isinstance(value, str):
|
||||
if isinstance(value, str):
|
||||
try:
|
||||
return int(value)
|
||||
except ValueError:
|
||||
return convert_duration_to_nanosecond(value)
|
||||
else:
|
||||
raise ValueError(
|
||||
f"Invalid type for {name} {value} ({type(value)}). Only string or int allowed."
|
||||
)
|
||||
@ -1080,7 +1078,6 @@ def has_list_changed(new_list, old_list, sort_lists=True, sort_key=None):
|
||||
old_item_casted = new_item_type(old_item)
|
||||
if new_item != old_item_casted:
|
||||
return True
|
||||
else:
|
||||
continue
|
||||
except UnicodeEncodeError:
|
||||
# Fallback to assuming the strings are different
|
||||
|
||||
@ -27,15 +27,15 @@ def make_unsafe(value):
|
||||
|
||||
if isinstance(value, Mapping):
|
||||
return dict((make_unsafe(key), make_unsafe(val)) for key, val in value.items())
|
||||
elif isinstance(value, Set):
|
||||
if isinstance(value, Set):
|
||||
return set(make_unsafe(elt) for elt in value)
|
||||
elif is_sequence(value):
|
||||
if is_sequence(value):
|
||||
return type(value)(make_unsafe(elt) for elt in value)
|
||||
elif isinstance(value, bytes):
|
||||
if isinstance(value, bytes):
|
||||
if _RE_TEMPLATE_CHARS_BYTES.search(value):
|
||||
value = _make_unsafe(value)
|
||||
return value
|
||||
elif isinstance(value, str):
|
||||
if isinstance(value, str):
|
||||
if _RE_TEMPLATE_CHARS.search(value):
|
||||
value = _make_unsafe(value)
|
||||
return value
|
||||
|
||||
@ -500,14 +500,13 @@ class TCPSocketStreamTest(unittest.TestCase):
|
||||
path = self.path.split("/")[-1]
|
||||
if path == "tty":
|
||||
return stdout_data + stderr_data
|
||||
elif path == "no-tty":
|
||||
if path == "no-tty":
|
||||
data = b""
|
||||
data += self.frame_header(1, stdout_data)
|
||||
data += stdout_data
|
||||
data += self.frame_header(2, stderr_data)
|
||||
data += stderr_data
|
||||
return data
|
||||
else:
|
||||
raise NotImplementedError(f"Unknown path {path}")
|
||||
|
||||
@staticmethod
|
||||
|
||||
Loading…
Reference in New Issue
Block a user