diff --git a/changelogs/fragments/10958-mod-fstr-g.yml b/changelogs/fragments/10958-mod-fstr-g.yml new file mode 100644 index 0000000000..33946a3bd7 --- /dev/null +++ b/changelogs/fragments/10958-mod-fstr-g.yml @@ -0,0 +1,31 @@ +minor_changes: + - gconftool2 - use f-strings for string templating (https://github.com/ansible-collections/community.general/pull/10958). + - gem - use f-strings for string templating (https://github.com/ansible-collections/community.general/pull/10958). + - git_config - use f-strings for string templating (https://github.com/ansible-collections/community.general/pull/10958). + - git_config_info - use f-strings for string templating (https://github.com/ansible-collections/community.general/pull/10958). + - github_deploy_key - use f-strings for string templating (https://github.com/ansible-collections/community.general/pull/10958). + - github_issue - use f-strings for string templating (https://github.com/ansible-collections/community.general/pull/10958). + - github_key - use f-strings for string templating (https://github.com/ansible-collections/community.general/pull/10958). + - github_release - use f-strings for string templating (https://github.com/ansible-collections/community.general/pull/10958). + - github_repo - use f-strings for string templating (https://github.com/ansible-collections/community.general/pull/10958). + - github_webhook - use f-strings for string templating (https://github.com/ansible-collections/community.general/pull/10958). + - github_webhook_info - use f-strings for string templating (https://github.com/ansible-collections/community.general/pull/10958). + - gitlab_branch - use f-strings for string templating (https://github.com/ansible-collections/community.general/pull/10958). + - gitlab_deploy_key - use f-strings for string templating (https://github.com/ansible-collections/community.general/pull/10958). + - gitlab_group - use f-strings for string templating (https://github.com/ansible-collections/community.general/pull/10958). + - gitlab_group_access_token - use f-strings for string templating (https://github.com/ansible-collections/community.general/pull/10958). + - gitlab_group_members - use f-strings for string templating (https://github.com/ansible-collections/community.general/pull/10958). + - gitlab_hook - use f-strings for string templating (https://github.com/ansible-collections/community.general/pull/10958). + - gitlab_issue - use f-strings for string templating (https://github.com/ansible-collections/community.general/pull/10958). + - gitlab_label - use f-strings for string templating (https://github.com/ansible-collections/community.general/pull/10958). + - gitlab_merge_request - use f-strings for string templating (https://github.com/ansible-collections/community.general/pull/10958). + - gitlab_milestone - use f-strings for string templating (https://github.com/ansible-collections/community.general/pull/10958). + - gitlab_project - use f-strings for string templating (https://github.com/ansible-collections/community.general/pull/10958). + - gitlab_project_access_token - use f-strings for string templating (https://github.com/ansible-collections/community.general/pull/10958). + - gitlab_project_badge - use f-strings for string templating (https://github.com/ansible-collections/community.general/pull/10958). + - gitlab_project_members - use f-strings for string templating (https://github.com/ansible-collections/community.general/pull/10958). + - gitlab_protected_branch - use f-strings for string templating (https://github.com/ansible-collections/community.general/pull/10958). + - gitlab_runner - use f-strings for string templating (https://github.com/ansible-collections/community.general/pull/10958). + - gitlab_user - use f-strings for string templating (https://github.com/ansible-collections/community.general/pull/10958). + - grove - use f-strings for string templating (https://github.com/ansible-collections/community.general/pull/10958). + - gunicorn - use f-strings for string templating (https://github.com/ansible-collections/community.general/pull/10958). diff --git a/plugins/modules/gconftool2.py b/plugins/modules/gconftool2.py index 4092a8b7e6..9b5cbca78f 100644 --- a/plugins/modules/gconftool2.py +++ b/plugins/modules/gconftool2.py @@ -145,7 +145,7 @@ class GConftool(StateModuleHelper): def _make_process(self, fail_on_err): def process(rc, out, err): if err and fail_on_err: - self.do_raise('gconftool-2 failed with error:\n%s' % err.strip()) + self.do_raise(f'gconftool-2 failed with error:\n{err.strip()}') out = out.rstrip() self.vars.value = None if out == "" else out return self.vars.value diff --git a/plugins/modules/gem.py b/plugins/modules/gem.py index 535e420e71..30a18f9702 100644 --- a/plugins/modules/gem.py +++ b/plugins/modules/gem.py @@ -182,7 +182,7 @@ def get_installed_versions(module, remote=False): if module.params['repository']: cmd.extend(['--source', module.params['repository']]) cmd.append('-n') - cmd.append('^%s$' % module.params['name']) + cmd.append(f"^{module.params['name']}$") environ = get_rubygems_environ(module) (rc, out, err) = module.run_command(cmd, environ_update=environ, check_rc=True) @@ -337,10 +337,10 @@ def main(): rc, out, err = command_output module.fail_json( msg=( - "Failed to uninstall gem '%s': it is still present after 'gem uninstall'. " + f"Failed to uninstall gem '{module.params['name']}': it is still present after 'gem uninstall'. " "This usually happens with default or system gems provided by the OS, " "which cannot be removed with the gem command." - ) % module.params['name'], + ), rc=rc, stdout=out, stderr=err diff --git a/plugins/modules/git_config.py b/plugins/modules/git_config.py index 30af5b43fd..2be77ff0b7 100644 --- a/plugins/modules/git_config.py +++ b/plugins/modules/git_config.py @@ -183,7 +183,7 @@ def main(): base_args.append('-f') base_args.append(params['file']) elif scope: - base_args.append("--" + scope) + base_args.append(f"--{scope}") list_args = list(base_args) @@ -210,7 +210,7 @@ def main(): set_args.append("--unset-all") set_args.append(name) else: - set_args.append("--" + add_mode) + set_args.append(f"--{add_mode}") set_args.append(name) set_args.append(new_value) @@ -248,7 +248,7 @@ def build_diff_value(value): if not value: return "\n" if len(value) == 1: - return value[0] + "\n" + return f"{value[0]}\n" return value diff --git a/plugins/modules/git_config_info.py b/plugins/modules/git_config_info.py index b5a15fe94f..dbfcf69cdb 100644 --- a/plugins/modules/git_config_info.py +++ b/plugins/modules/git_config_info.py @@ -154,7 +154,7 @@ def main(): def build_args(module, name, path, scope): git_path = module.get_bin_path("git", True) - args = [git_path, "config", "--includes", "--null", "--" + scope] + args = [git_path, "config", "--includes", "--null", f"--{scope}"] if scope == "file": args.append(path) diff --git a/plugins/modules/github_deploy_key.py b/plugins/modules/github_deploy_key.py index 799ee300c5..70e90225f3 100644 --- a/plugins/modules/github_deploy_key.py +++ b/plugins/modules/github_deploy_key.py @@ -203,7 +203,7 @@ class GithubDeployKey(object): def url(self): owner = self.module.params['owner'] repo = self.module.params['repo'] - return "{0}/repos/{1}/{2}/keys".format(self.github_url, owner, repo) + return f"{self.github_url}/repos/{owner}/{repo}/keys" @property def headers(self): @@ -214,7 +214,7 @@ class GithubDeployKey(object): if self.otp is not None: return {"X-GitHub-OTP": self.otp} elif self.token is not None: - return {"Authorization": "token {0}".format(self.token)} + return {"Authorization": f"token {self.token}"} else: return None @@ -267,7 +267,7 @@ class GithubDeployKey(object): self.handle_error(method="POST", info=info) def remove_existing_key(self, key_id): - resp, info = fetch_url(self.module, "{0}/{1}".format(self.url, key_id), headers=self.headers, method="DELETE") + resp, info = fetch_url(self.module, f"{self.url}/{key_id}", headers=self.headers, method="DELETE") status_code = info["status"] @@ -286,7 +286,7 @@ class GithubDeployKey(object): err = None if status_code == 401: - self.module.fail_json(msg="Failed to connect to {0} due to invalid credentials".format(self.github_url), http_status_code=status_code, error=err) + self.module.fail_json(msg=f"Failed to connect to {self.github_url} due to invalid credentials", http_status_code=status_code, error=err) elif status_code == 404: self.module.fail_json(msg="GitHub repository does not exist", http_status_code=status_code, error=err) else: diff --git a/plugins/modules/github_issue.py b/plugins/modules/github_issue.py index 2923917eec..cf23baf36f 100644 --- a/plugins/modules/github_issue.py +++ b/plugins/modules/github_issue.py @@ -99,13 +99,13 @@ def main(): 'Accept': 'application/vnd.github.v3+json', } - url = "https://api.github.com/repos/%s/%s/issues/%s" % (organization, repo, issue) + url = f"https://api.github.com/repos/{organization}/{repo}/issues/{issue}" response, info = fetch_url(module, url, headers=headers) if not (200 <= info['status'] < 400): if info['status'] == 404: - module.fail_json(msg="Failed to find issue %s" % issue) - module.fail_json(msg="Failed to send request to %s: %s" % (url, info['msg'])) + module.fail_json(msg=f"Failed to find issue {issue}") + module.fail_json(msg=f"Failed to send request to {url}: {info['msg']}") gh_obj = json.loads(response.read()) diff --git a/plugins/modules/github_key.py b/plugins/modules/github_key.py index 957d130774..3f69554a21 100644 --- a/plugins/modules/github_key.py +++ b/plugins/modules/github_key.py @@ -166,7 +166,7 @@ class GitHubSession(object): def request(self, method, url, data=None): headers = { - 'Authorization': 'token %s' % self.token, + 'Authorization': f'token {self.token}', 'Content-Type': 'application/json', 'Accept': 'application/vnd.github.v3+json', } @@ -174,13 +174,12 @@ class GitHubSession(object): self.module, url, method=method, data=data, headers=headers) if not (200 <= info['status'] < 400): self.module.fail_json( - msg=(" failed to send request %s to %s: %s" - % (method, url, info['msg']))) + msg=f" failed to send request {method} to {url}: {info['msg']}") return GitHubResponse(response, info) def get_all_keys(session): - url = session.api_url + '/user/keys' + url = f"{session.api_url}/user/keys" result = [] while url: r = session.request('GET', url) @@ -204,7 +203,7 @@ def create_key(session, name, pubkey, check_mode): else: return session.request( 'POST', - session.api_url + '/user/keys', + f"{session.api_url}/user/keys", data=json.dumps({'title': name, 'key': pubkey})).json() @@ -213,7 +212,7 @@ def delete_keys(session, to_delete, check_mode): return for key in to_delete: - session.request('DELETE', session.api_url + '/user/keys/%s' % key["id"]) + session.request('DELETE', f"{session.api_url}/user/keys/{key['id']}") def ensure_key_absent(session, name, check_mode): @@ -233,9 +232,7 @@ def ensure_key_present(module, session, name, pubkey, force, check_mode): for key in all_keys: existing_signature = key['key'].split(' ')[1] if new_signature == existing_signature and key['title'] != name: - module.fail_json(msg=( - "another key with the same content is already registered " - "under the name |{0}|").format(key['title'])) + module.fail_json(msg=f"another key with the same content is already registered under the name |{key['title']}|") if matching_keys and force and matching_keys[0]['key'].split(' ')[1] != new_signature: delete_keys(session, matching_keys, check_mode=check_mode) diff --git a/plugins/modules/github_release.py b/plugins/modules/github_release.py index 933b9c8bd1..db1ec4b5e7 100644 --- a/plugins/modules/github_release.py +++ b/plugins/modules/github_release.py @@ -130,7 +130,6 @@ except ImportError: HAS_GITHUB_API = False from ansible.module_utils.basic import AnsibleModule, missing_required_lib -from ansible.module_utils.common.text.converters import to_native def main(): @@ -196,18 +195,16 @@ def main(): if password or (login_token and not any(login_token.startswith(prefix) for prefix in SKIPPED_TOKEN_PREFIXES)): gh_obj.me() except github3.exceptions.AuthenticationFailed as e: - module.fail_json(msg='Failed to connect to GitHub: %s' % to_native(e), - details="Please check username and password or token " - "for repository %s" % repo) + module.fail_json(msg=f'Failed to connect to GitHub: {e}', + details=f"Please check username and password or token for repository {repo}") except github3.exceptions.GitHubError as e: - module.fail_json(msg='GitHub API error: %s' % to_native(e), - details="Please check username and password or token " - "for repository %s" % repo) + module.fail_json(msg=f'GitHub API error: {e}', + details=f"Please check username and password or token for repository {repo}") repository = gh_obj.repository(user, repo) if not repository: - module.fail_json(msg="Repository %s/%s doesn't exist" % (user, repo)) + module.fail_json(msg=f"Repository {user}/{repo} doesn't exist") if action == 'latest_release': release = repository.latest_release() @@ -219,7 +216,7 @@ def main(): if action == 'create_release': release_exists = repository.release_from_tag(tag) if release_exists: - module.exit_json(changed=False, msg="Release for tag %s already exists." % tag) + module.exit_json(changed=False, msg=f"Release for tag {tag} already exists.") release = repository.create_release( tag, target, name, body, draft, prerelease) diff --git a/plugins/modules/github_repo.py b/plugins/modules/github_repo.py index 601bea71fd..96c1d10859 100644 --- a/plugins/modules/github_repo.py +++ b/plugins/modules/github_repo.py @@ -269,9 +269,9 @@ def main(): result = run_module(module.params, module.check_mode) module.exit_json(**result) except GithubException as e: - module.fail_json(msg="Github error. {0}".format(repr(e))) + module.fail_json(msg=f"Github error. {e}") except Exception as e: - module.fail_json(msg="Unexpected error. {0}".format(repr(e))) + module.fail_json(msg=f"Unexpected error. {e}") if __name__ == '__main__': diff --git a/plugins/modules/github_webhook.py b/plugins/modules/github_webhook.py index 867bfc380e..eef360ff62 100644 --- a/plugins/modules/github_webhook.py +++ b/plugins/modules/github_webhook.py @@ -149,7 +149,6 @@ except ImportError: HAS_GITHUB = False from ansible.module_utils.basic import AnsibleModule, missing_required_lib -from ansible.module_utils.common.text.converters import to_native def _create_hook_config(module): @@ -175,8 +174,7 @@ def create_hook(repo, module): events=module.params["events"], active=module.params["active"]) except github.GithubException as err: - module.fail_json(msg="Unable to create hook for repository %s: %s" % ( - repo.full_name, to_native(err))) + module.fail_json(msg=f"Unable to create hook for repository {repo.full_name}: {err}") data = {"hook_id": hook.id} return True, data @@ -194,8 +192,7 @@ def update_hook(repo, hook, module): changed = hook.update() except github.GithubException as err: - module.fail_json(msg="Unable to modify hook for repository %s: %s" % ( - repo.full_name, to_native(err))) + module.fail_json(msg=f"Unable to modify hook for repository {repo.full_name}: {err}") data = {"hook_id": hook.id} return changed, data @@ -231,24 +228,18 @@ def main(): module.params.get("password") or module.params.get("token"), base_url=module.params["github_url"]) except github.GithubException as err: - module.fail_json(msg="Could not connect to GitHub at %s: %s" % ( - module.params["github_url"], to_native(err))) + module.fail_json(msg=f"Could not connect to GitHub at {module.params['github_url']}: {err}") try: repo = github_conn.get_repo(module.params["repository"]) except github.BadCredentialsException as err: - module.fail_json(msg="Could not authenticate to GitHub at %s: %s" % ( - module.params["github_url"], to_native(err))) + module.fail_json(msg=f"Could not authenticate to GitHub at {module.params['github_url']}: {err}") except github.UnknownObjectException as err: module.fail_json( - msg="Could not find repository %s in GitHub at %s: %s" % ( - module.params["repository"], module.params["github_url"], - to_native(err))) + msg=f"Could not find repository {module.params['repository']} in GitHub at {module.params['github_url']}: {err}") except Exception as err: module.fail_json( - msg="Could not fetch repository %s from GitHub at %s: %s" % - (module.params["repository"], module.params["github_url"], - to_native(err)), + msg=f"Could not fetch repository {module.params['repository']} from GitHub at {module.params['github_url']}: {err}", exception=traceback.format_exc()) hook = None @@ -259,8 +250,7 @@ def main(): else: hook = None except github.GithubException as err: - module.fail_json(msg="Unable to get hooks from repository %s: %s" % ( - module.params["repository"], to_native(err))) + module.fail_json(msg=f"Unable to get hooks from repository {module.params['repository']}: {err}") changed = False data = {} @@ -271,8 +261,7 @@ def main(): hook.delete() except github.GithubException as err: module.fail_json( - msg="Unable to delete hook from repository %s: %s" % ( - repo.full_name, to_native(err))) + msg=f"Unable to delete hook from repository {repo.full_name}: {err}") else: changed = True elif hook is not None and module.params["state"] == "present": diff --git a/plugins/modules/github_webhook_info.py b/plugins/modules/github_webhook_info.py index 30b3e719f3..0eff211fe4 100644 --- a/plugins/modules/github_webhook_info.py +++ b/plugins/modules/github_webhook_info.py @@ -98,7 +98,6 @@ except ImportError: HAS_GITHUB = False from ansible.module_utils.basic import AnsibleModule, missing_required_lib -from ansible.module_utils.common.text.converters import to_native def _munge_hook(hook_obj): @@ -140,32 +139,25 @@ def main(): module.params.get("password") or module.params.get("token"), base_url=module.params["github_url"]) except github.GithubException as err: - module.fail_json(msg="Could not connect to GitHub at %s: %s" % ( - module.params["github_url"], to_native(err))) + module.fail_json(msg=f"Could not connect to GitHub at {module.params['github_url']}: {err}") try: repo = github_conn.get_repo(module.params["repository"]) except github.BadCredentialsException as err: - module.fail_json(msg="Could not authenticate to GitHub at %s: %s" % ( - module.params["github_url"], to_native(err))) + module.fail_json(msg=f"Could not authenticate to GitHub at {module.params['github_url']}: {err}") except github.UnknownObjectException as err: module.fail_json( - msg="Could not find repository %s in GitHub at %s: %s" % ( - module.params["repository"], module.params["github_url"], - to_native(err))) + msg=f"Could not find repository {module.params['repository']} in GitHub at {module.params['github_url']}: {err}") except Exception as err: module.fail_json( - msg="Could not fetch repository %s from GitHub at %s: %s" % - (module.params["repository"], module.params["github_url"], - to_native(err)), + msg=f"Could not fetch repository {module.params['repository']} from GitHub at {module.params['github_url']}: {err}", exception=traceback.format_exc()) try: hooks = [_munge_hook(h) for h in repo.get_hooks()] except github.GithubException as err: module.fail_json( - msg="Unable to get hooks from repository %s: %s" % - (module.params["repository"], to_native(err)), + msg=f"Unable to get hooks from repository {module.params['repository']}: {err}", exception=traceback.format_exc()) module.exit_json(changed=False, hooks=hooks) diff --git a/plugins/modules/gitlab_branch.py b/plugins/modules/gitlab_branch.py index 514300a924..eb4d73d9e4 100644 --- a/plugins/modules/gitlab_branch.py +++ b/plugins/modules/gitlab_branch.py @@ -151,8 +151,10 @@ def main(): gitlab_version = gitlab.__version__ if LooseVersion(gitlab_version) < LooseVersion('2.3.0'): - module.fail_json(msg="community.general.gitlab_proteched_branch requires python-gitlab Python module >= 2.3.0 (installed version: [%s])." - " Please upgrade python-gitlab to version 2.3.0 or above." % gitlab_version) + module.fail_json( + msg=f"community.general.gitlab_branch requires python-gitlab Python module >= 2.3.0 (installed version: [{gitlab_version}])." + " Please upgrade python-gitlab to version 2.3.0 or above." + ) this_gitlab = GitlabBranch(module=module, project=project, gitlab_instance=gitlab_instance) @@ -161,15 +163,15 @@ def main(): if not this_branch and state == "present": r_branch = this_gitlab.get_branch(ref_branch) if not r_branch: - module.fail_json(msg="Ref branch {b} not exist.".format(b=ref_branch)) + module.fail_json(msg=f"Ref branch {ref_branch} not exist.") this_gitlab.create_branch(branch, ref_branch) - module.exit_json(changed=True, msg="Created the branch {b}.".format(b=branch)) + module.exit_json(changed=True, msg=f"Created the branch {branch}.") elif this_branch and state == "present": - module.exit_json(changed=False, msg="Branch {b} already exist".format(b=branch)) + module.exit_json(changed=False, msg=f"Branch {branch} already exist") elif this_branch and state == "absent": try: this_gitlab.delete_branch(this_branch) - module.exit_json(changed=True, msg="Branch {b} deleted.".format(b=branch)) + module.exit_json(changed=True, msg=f"Branch {branch} deleted.") except Exception as e: module.fail_json(msg="Error delete branch.", exception=traceback.format_exc()) else: diff --git a/plugins/modules/gitlab_deploy_key.py b/plugins/modules/gitlab_deploy_key.py index 9252341863..9c84f49c48 100644 --- a/plugins/modules/gitlab_deploy_key.py +++ b/plugins/modules/gitlab_deploy_key.py @@ -114,7 +114,6 @@ deploy_key: from ansible.module_utils.api import basic_auth_argument_spec from ansible.module_utils.basic import AnsibleModule -from ansible.module_utils.common.text.converters import to_native from ansible_collections.community.general.plugins.module_utils.gitlab import ( auth_argument_spec, find_project, gitlab_authentication, gitlab, list_all_kwargs @@ -160,12 +159,12 @@ class GitLabDeployKey(object): self.deploy_key_object = deploy_key if changed: if self._module.check_mode: - self._module.exit_json(changed=True, msg="Successfully created or updated the deploy key %s" % key_title) + self._module.exit_json(changed=True, msg=f"Successfully created or updated the deploy key {key_title}") try: deploy_key.save() except Exception as e: - self._module.fail_json(msg="Failed to update deploy key: %s " % e) + self._module.fail_json(msg=f"Failed to update deploy key: {e} ") return True else: return False @@ -181,7 +180,7 @@ class GitLabDeployKey(object): try: deploy_key = project.keys.create(arguments) except (gitlab.exceptions.GitlabCreateError) as e: - self._module.fail_json(msg="Failed to create deploy key: %s " % to_native(e)) + self._module.fail_json(msg=f"Failed to create deploy key: {e} ") return deploy_key @@ -271,24 +270,24 @@ def main(): project = find_project(gitlab_instance, project_identifier) if project is None: - module.fail_json(msg="Failed to create deploy key: project %s doesn't exists" % project_identifier) + module.fail_json(msg=f"Failed to create deploy key: project {project_identifier} doesn't exists") deploy_key_exists = gitlab_deploy_key.exists_deploy_key(project, key_title) if state == 'absent': if deploy_key_exists: gitlab_deploy_key.delete_deploy_key() - module.exit_json(changed=True, msg="Successfully deleted deploy key %s" % key_title) + module.exit_json(changed=True, msg=f"Successfully deleted deploy key {key_title}") else: module.exit_json(changed=False, msg="Deploy key deleted or does not exists") if state == 'present': if gitlab_deploy_key.create_or_update_deploy_key(project, key_title, key_keyfile, {'can_push': key_can_push}): - module.exit_json(changed=True, msg="Successfully created or updated the deploy key %s" % key_title, + module.exit_json(changed=True, msg=f"Successfully created or updated the deploy key {key_title}", deploy_key=gitlab_deploy_key.deploy_key_object._attrs) else: - module.exit_json(changed=False, msg="No need to update the deploy key %s" % key_title, + module.exit_json(changed=False, msg=f"No need to update the deploy key {key_title}", deploy_key=gitlab_deploy_key.deploy_key_object._attrs) diff --git a/plugins/modules/gitlab_group.py b/plugins/modules/gitlab_group.py index 6356ce2e2c..a575587bad 100644 --- a/plugins/modules/gitlab_group.py +++ b/plugins/modules/gitlab_group.py @@ -246,7 +246,6 @@ group: from ansible.module_utils.api import basic_auth_argument_spec from ansible.module_utils.basic import AnsibleModule -from ansible.module_utils.common.text.converters import to_native from ansible_collections.community.general.plugins.module_utils.gitlab import ( auth_argument_spec, find_group, gitlab_authentication, gitlab @@ -314,7 +313,7 @@ class GitLabGroup(object): try: group.avatar = open(options['avatar_path'], 'rb') except IOError as e: - self._module.fail_json(msg='Cannot open {0}: {1}'.format(options['avatar_path'], e)) + self._module.fail_json(msg=f"Cannot open {options['avatar_path']}: {e}") changed = True else: changed, group = self.update_group(self.group_object, payload) @@ -322,12 +321,12 @@ class GitLabGroup(object): self.group_object = group if changed: if self._module.check_mode: - self._module.exit_json(changed=True, msg="Successfully created or updated the group %s" % name) + self._module.exit_json(changed=True, msg=f"Successfully created or updated the group {name}") try: group.save() except Exception as e: - self._module.fail_json(msg="Failed to update group: %s " % e) + self._module.fail_json(msg=f"Failed to update group: {e} ") return True else: return False @@ -345,7 +344,7 @@ class GitLabGroup(object): group = self._gitlab.groups.create(filtered) except (gitlab.exceptions.GitlabCreateError) as e: - self._module.fail_json(msg="Failed to create group: %s " % to_native(e)) + self._module.fail_json(msg=f"Failed to create group: {e} ") return group @@ -383,7 +382,7 @@ class GitLabGroup(object): try: group.delete() except Exception as e: - self._module.fail_json(msg="Failed to delete group: %s " % to_native(e)) + self._module.fail_json(msg=f"Failed to delete group: {e} ") ''' @param name Name of the group @@ -488,14 +487,14 @@ def main(): if not parent_group: module.fail_json(msg="Failed to create GitLab group: Parent group doesn't exist") - group_exists = gitlab_group.exists_group(parent_group.full_path + '/' + group_path) + group_exists = gitlab_group.exists_group(f"{parent_group.full_path}/{group_path}") else: group_exists = gitlab_group.exists_group(group_path) if state == 'absent': if group_exists: gitlab_group.delete_group(force=force_delete) - module.exit_json(changed=True, msg="Successfully deleted group %s" % group_name) + module.exit_json(changed=True, msg=f"Successfully deleted group {group_name}") else: module.exit_json(changed=False, msg="Group deleted or does not exist") @@ -523,9 +522,9 @@ def main(): "visibility": group_visibility, "wiki_access_level": wiki_access_level, }): - module.exit_json(changed=True, msg="Successfully created or updated the group %s" % group_name, group=gitlab_group.group_object._attrs) + module.exit_json(changed=True, msg=f"Successfully created or updated the group {group_name}", group=gitlab_group.group_object._attrs) else: - module.exit_json(changed=False, msg="No need to update the group %s" % group_name, group=gitlab_group.group_object._attrs) + module.exit_json(changed=False, msg=f"No need to update the group {group_name}", group=gitlab_group.group_object._attrs) if __name__ == '__main__': diff --git a/plugins/modules/gitlab_group_access_token.py b/plugins/modules/gitlab_group_access_token.py index 59afc74bea..4c8d02383c 100644 --- a/plugins/modules/gitlab_group_access_token.py +++ b/plugins/modules/gitlab_group_access_token.py @@ -158,7 +158,6 @@ from datetime import datetime from ansible.module_utils.api import basic_auth_argument_spec from ansible.module_utils.basic import AnsibleModule -from ansible.module_utils.common.text.converters import to_native from ansible_collections.community.general.plugins.module_utils.gitlab import ( auth_argument_spec, find_group, gitlab_authentication, gitlab @@ -187,7 +186,7 @@ class GitLabGroupAccessToken(object): self.access_token_object = group.access_tokens.create(arguments) changed = True except (gitlab.exceptions.GitlabCreateError) as e: - self._module.fail_json(msg="Failed to create access token: %s " % to_native(e)) + self._module.fail_json(msg=f"Failed to create access token: {e} ") return changed @@ -213,7 +212,7 @@ class GitLabGroupAccessToken(object): self.access_token_object.delete() changed = True except (gitlab.exceptions.GitlabCreateError) as e: - self._module.fail_json(msg="Failed to revoke access token: %s " % to_native(e)) + self._module.fail_json(msg=f"Failed to revoke access token: {e} ") return changed @@ -297,7 +296,7 @@ def main(): group = find_group(gitlab_instance, group_identifier) if group is None: - module.fail_json(msg="Failed to create access token: group %s does not exists" % group_identifier) + module.fail_json(msg=f"Failed to create access token: group {group_identifier} does not exists") gitlab_access_token_exists = False gitlab_access_token.find_access_token(group, name) @@ -307,7 +306,7 @@ def main(): if state == 'absent': if gitlab_access_token_exists: gitlab_access_token.revoke_access_token() - module.exit_json(changed=True, msg="Successfully deleted access token %s" % name) + module.exit_json(changed=True, msg=f"Successfully deleted access token {name}") else: module.exit_json(changed=False, msg="Access token does not exists") diff --git a/plugins/modules/gitlab_group_members.py b/plugins/modules/gitlab_group_members.py index b101cb4e43..113285ed90 100644 --- a/plugins/modules/gitlab_group_members.py +++ b/plugins/modules/gitlab_group_members.py @@ -300,7 +300,7 @@ def main(): # group doesn't exist if not gitlab_group_id: - module.fail_json(msg="group '%s' not found." % gitlab_group) + module.fail_json(msg=f"group '{gitlab_group}' not found.") members = [] if module.params['gitlab_user'] is not None: @@ -336,14 +336,14 @@ def main(): # user doesn't exist if not gitlab_user_id: if state == 'absent': - changed_users.append("user '%s' not found, and thus also not part of the group" % gitlab_user['name']) + changed_users.append(f"user '{gitlab_user['name']}' not found, and thus also not part of the group") changed_data.append({'gitlab_user': gitlab_user['name'], 'result': 'OK', - 'msg': "user '%s' not found, and thus also not part of the group" % gitlab_user['name']}) + 'msg': f"user '{gitlab_user['name']}' not found, and thus also not part of the group"}) else: error = True - changed_users.append("user '%s' not found." % gitlab_user['name']) + changed_users.append(f"user '{gitlab_user['name']}' not found.") changed_data.append({'gitlab_user': gitlab_user['name'], 'result': 'FAILED', - 'msg': "user '%s' not found." % gitlab_user['name']}) + 'msg': f"user '{gitlab_user['name']}' not found."}) continue is_user_a_member = group.is_user_a_member(members, gitlab_user_id) @@ -356,56 +356,56 @@ def main(): if not module.check_mode: group.add_member_to_group(gitlab_user_id, gitlab_group_id, gitlab_user['access_level']) changed = True - changed_users.append("Successfully added user '%s' to group" % gitlab_user['name']) + changed_users.append(f"Successfully added user '{gitlab_user['name']}' to group") changed_data.append({'gitlab_user': gitlab_user['name'], 'result': 'CHANGED', - 'msg': "Successfully added user '%s' to group" % gitlab_user['name']}) + 'msg': f"Successfully added user '{gitlab_user['name']}' to group"}) except (gitlab.exceptions.GitlabCreateError) as e: error = True - changed_users.append("Failed to updated the access level for the user, '%s'" % gitlab_user['name']) + changed_users.append(f"Failed to updated the access level for the user, '{gitlab_user['name']}'") changed_data.append({'gitlab_user': gitlab_user['name'], 'result': 'FAILED', - 'msg': "Not allowed to add the access level for the member, %s: %s" % (gitlab_user['name'], e)}) + 'msg': f"Not allowed to add the access level for the member, {gitlab_user['name']}: {e}"}) # state as absent else: - changed_users.append("User, '%s', is not a member in the group. No change to report" % gitlab_user['name']) + changed_users.append(f"User, '{gitlab_user['name']}', is not a member in the group. No change to report") changed_data.append({'gitlab_user': gitlab_user['name'], 'result': 'OK', - 'msg': "User, '%s', is not a member in the group. No change to report" % gitlab_user['name']}) + 'msg': f"User, '{gitlab_user['name']}', is not a member in the group. No change to report"}) # in case that a user is a member else: if state == 'present': # compare the access level user_access_level = group.get_user_access_level(members, gitlab_user_id) if user_access_level == gitlab_user['access_level']: - changed_users.append("User, '%s', is already a member in the group. No change to report" % gitlab_user['name']) + changed_users.append(f"User, '{gitlab_user['name']}', is already a member in the group. No change to report") changed_data.append({'gitlab_user': gitlab_user['name'], 'result': 'OK', - 'msg': "User, '%s', is already a member in the group. No change to report" % gitlab_user['name']}) + 'msg': f"User, '{gitlab_user['name']}', is already a member in the group. No change to report"}) else: # update the access level for the user try: if not module.check_mode: group.update_user_access_level(members, gitlab_user_id, gitlab_user['access_level']) changed = True - changed_users.append("Successfully updated the access level for the user, '%s'" % gitlab_user['name']) + changed_users.append(f"Successfully updated the access level for the user, '{gitlab_user['name']}'") changed_data.append({'gitlab_user': gitlab_user['name'], 'result': 'CHANGED', - 'msg': "Successfully updated the access level for the user, '%s'" % gitlab_user['name']}) + 'msg': f"Successfully updated the access level for the user, '{gitlab_user['name']}'"}) except (gitlab.exceptions.GitlabUpdateError) as e: error = True - changed_users.append("Failed to updated the access level for the user, '%s'" % gitlab_user['name']) + changed_users.append(f"Failed to updated the access level for the user, '{gitlab_user['name']}'") changed_data.append({'gitlab_user': gitlab_user['name'], 'result': 'FAILED', - 'msg': "Not allowed to update the access level for the member, %s: %s" % (gitlab_user['name'], e)}) + 'msg': f"Not allowed to update the access level for the member, {gitlab_user['name']}: {e}"}) else: # remove the user from the group try: if not module.check_mode: group.remove_user_from_group(gitlab_user_id, gitlab_group_id) changed = True - changed_users.append("Successfully removed user, '%s', from the group" % gitlab_user['name']) + changed_users.append(f"Successfully removed user, '{gitlab_user['name']}', from the group") changed_data.append({'gitlab_user': gitlab_user['name'], 'result': 'CHANGED', - 'msg': "Successfully removed user, '%s', from the group" % gitlab_user['name']}) + 'msg': f"Successfully removed user, '{gitlab_user['name']}', from the group"}) except (gitlab.exceptions.GitlabDeleteError) as e: error = True - changed_users.append("Failed to removed user, '%s', from the group" % gitlab_user['name']) + changed_users.append(f"Failed to removed user, '{gitlab_user['name']}', from the group") changed_data.append({'gitlab_user': gitlab_user['name'], 'result': 'FAILED', - 'msg': "Failed to remove user, '%s' from the group: %s" % (gitlab_user['name'], e)}) + 'msg': f"Failed to remove user, '{gitlab_user['name']}' from the group: {e}"}) # if state = present and purge_users set delete users which are in members having give access level but not in gitlab_users if state == 'present' and purge_users: @@ -419,18 +419,18 @@ def main(): if not module.check_mode: group.remove_user_from_group(member.id, gitlab_group_id) changed = True - changed_users.append("Successfully removed user '%s', from group. Was not in given list" % member.username) + changed_users.append(f"Successfully removed user '{member.username}', from group. Was not in given list") changed_data.append({'gitlab_user': member.username, 'result': 'CHANGED', - 'msg': "Successfully removed user '%s', from group. Was not in given list" % member.username}) + 'msg': f"Successfully removed user '{member.username}', from group. Was not in given list"}) except (gitlab.exceptions.GitlabDeleteError) as e: error = True - changed_users.append("Failed to removed user, '%s', from the group" % gitlab_user['name']) + changed_users.append(f"Failed to removed user, '{gitlab_user['name']}', from the group") changed_data.append({'gitlab_user': gitlab_user['name'], 'result': 'FAILED', - 'msg': "Failed to remove user, '%s' from the group: %s" % (gitlab_user['name'], e)}) + 'msg': f"Failed to remove user, '{gitlab_user['name']}' from the group: {e}"}) if len(gitlab_users_access) == 1 and error: # if single user given and an error occurred return error for list errors will be per user - module.fail_json(msg="FAILED: '%s '" % changed_users[0], result_data=changed_data) + module.fail_json(msg=f"FAILED: '{changed_users[0]} '", result_data=changed_data) elif error: module.fail_json(msg='FAILED: At least one given user/permission could not be set', result_data=changed_data) diff --git a/plugins/modules/gitlab_hook.py b/plugins/modules/gitlab_hook.py index 46997c5f62..a967ae4a10 100644 --- a/plugins/modules/gitlab_hook.py +++ b/plugins/modules/gitlab_hook.py @@ -227,12 +227,12 @@ class GitLabHook(object): self.hook_object = hook if changed: if self._module.check_mode: - self._module.exit_json(changed=True, msg="Successfully created or updated the hook %s" % hook_url) + self._module.exit_json(changed=True, msg=f"Successfully created or updated the hook {hook_url}") try: hook.save() except Exception as e: - self._module.fail_json(msg="Failed to update hook: %s " % e) + self._module.fail_json(msg=f"Failed to update hook: {e} ") return changed @@ -352,14 +352,14 @@ def main(): project = find_project(gitlab_instance, project_identifier) if project is None: - module.fail_json(msg="Failed to create hook: project %s doesn't exists" % project_identifier) + module.fail_json(msg=f"Failed to create hook: project {project_identifier} doesn't exists") hook_exists = gitlab_hook.exists_hook(project, hook_url) if state == 'absent': if hook_exists: gitlab_hook.delete_hook() - module.exit_json(changed=True, msg="Successfully deleted hook %s" % hook_url) + module.exit_json(changed=True, msg=f"Successfully deleted hook {hook_url}") else: module.exit_json(changed=False, msg="Hook deleted or does not exists") @@ -379,9 +379,9 @@ def main(): "token": hook_token, }): - module.exit_json(changed=True, msg="Successfully created or updated the hook %s" % hook_url, hook=gitlab_hook.hook_object._attrs) + module.exit_json(changed=True, msg=f"Successfully created or updated the hook {hook_url}", hook=gitlab_hook.hook_object._attrs) else: - module.exit_json(changed=False, msg="No need to update the hook %s" % hook_url, hook=gitlab_hook.hook_object._attrs) + module.exit_json(changed=False, msg=f"No need to update the hook {hook_url}", hook=gitlab_hook.hook_object._attrs) if __name__ == '__main__': diff --git a/plugins/modules/gitlab_issue.py b/plugins/modules/gitlab_issue.py index aab9f2a346..0bc5a4a484 100644 --- a/plugins/modules/gitlab_issue.py +++ b/plugins/modules/gitlab_issue.py @@ -139,7 +139,7 @@ issue: from ansible.module_utils.basic import AnsibleModule from ansible.module_utils.api import basic_auth_argument_spec -from ansible.module_utils.common.text.converters import to_native, to_text +from ansible.module_utils.common.text.converters import to_text from ansible_collections.community.general.plugins.module_utils.gitlab import ( auth_argument_spec, gitlab_authentication, gitlab, find_project, find_group @@ -161,7 +161,7 @@ class GitlabIssue(object): try: milestones = group.milestones.list(search=milestone_id) except gitlab.exceptions.GitlabGetError as e: - self._module.fail_json(msg="Failed to list the Milestones: %s" % to_native(e)) + self._module.fail_json(msg=f"Failed to list the Milestones: {e}") if len(milestones) > 1: self._module.fail_json(msg="Multiple Milestones matched search criteria.") @@ -171,7 +171,7 @@ class GitlabIssue(object): try: return group.milestones.get(id=milestones[0].id) except gitlab.exceptions.GitlabGetError as e: - self._module.fail_json(msg="Failed to get the Milestones: %s" % to_native(e)) + self._module.fail_json(msg=f"Failed to get the Milestones: {e}") ''' @param title Title of the Issue @@ -182,7 +182,7 @@ class GitlabIssue(object): try: issues = self.project.issues.list(query_parameters={"search": title, "in": "title", "state": state_filter}) except gitlab.exceptions.GitlabGetError as e: - self._module.fail_json(msg="Failed to list the Issues: %s" % to_native(e)) + self._module.fail_json(msg=f"Failed to list the Issues: {e}") if len(issues) > 1: self._module.fail_json(msg="Multiple Issues matched search criteria.") @@ -190,7 +190,7 @@ class GitlabIssue(object): try: return self.project.issues.get(id=issues[0].iid) except gitlab.exceptions.GitlabGetError as e: - self._module.fail_json(msg="Failed to get the Issue: %s" % to_native(e)) + self._module.fail_json(msg=f"Failed to get the Issue: {e}") ''' @param username Name of the user @@ -200,7 +200,7 @@ class GitlabIssue(object): try: users = [user for user in self.project.users.list(username=username, all=True) if user.username == username] except gitlab.exceptions.GitlabGetError as e: - self._module.fail_json(msg="Failed to list the users: %s" % to_native(e)) + self._module.fail_json(msg=f"Failed to list the users: {e}") if len(users) > 1: self._module.fail_json(msg="Multiple Users matched search criteria.") @@ -220,24 +220,24 @@ class GitlabIssue(object): ''' def create_issue(self, options): if self._module.check_mode: - self._module.exit_json(changed=True, msg="Successfully created Issue '%s'." % options["title"]) + self._module.exit_json(changed=True, msg=f"Successfully created Issue '{options['title']}'.") try: return self.project.issues.create(options) except gitlab.exceptions.GitlabCreateError as e: - self._module.fail_json(msg="Failed to create Issue: %s " % to_native(e)) + self._module.fail_json(msg=f"Failed to create Issue: {e}") ''' @param issue Issue object to delete ''' def delete_issue(self, issue): if self._module.check_mode: - self._module.exit_json(changed=True, msg="Successfully deleted Issue '%s'." % issue["title"]) + self._module.exit_json(changed=True, msg=f"Successfully deleted Issue '{issue['title']}'.") try: return issue.delete() except gitlab.exceptions.GitlabDeleteError as e: - self._module.fail_json(msg="Failed to delete Issue: '%s'." % to_native(e)) + self._module.fail_json(msg=f"Failed to delete Issue: '{e}'.") ''' @param issue Issue object to update @@ -245,12 +245,12 @@ class GitlabIssue(object): ''' def update_issue(self, issue, options): if self._module.check_mode: - self._module.exit_json(changed=True, msg="Successfully updated Issue '%s'." % issue["title"]) + self._module.exit_json(changed=True, msg=f"Successfully updated Issue '{issue['title']}'.") try: return self.project.issues.update(issue.iid, options) except gitlab.exceptions.GitlabUpdateError as e: - self._module.fail_json(msg="Failed to update Issue %s." % to_native(e)) + self._module.fail_json(msg=f"Failed to update Issue {e}.") ''' @param issue Issue object to evaluate @@ -332,14 +332,14 @@ def main(): this_project = find_project(gitlab_instance, project) if this_project is None: - module.fail_json(msg="Failed to get the project: %s" % project) + module.fail_json(msg=f"Failed to get the project: {project}") this_gitlab = GitlabIssue(module=module, project=this_project, gitlab_instance=gitlab_instance) if milestone_id and milestone_group_id: this_group = find_group(gitlab_instance, milestone_group_id) if this_group is None: - module.fail_json(msg="Failed to get the group: %s" % milestone_group_id) + module.fail_json(msg=f"Failed to get the group: {milestone_group_id}") milestone_id = this_gitlab.get_milestone(milestone_id, this_group).id @@ -351,7 +351,7 @@ def main(): with open(description_path, 'rb') as f: description = to_text(f.read(), errors='surrogate_or_strict') except IOError as e: - module.fail_json(msg='Cannot open {0}: {1}'.format(description_path, e)) + module.fail_json(msg=f'Cannot open {description_path}: {e}') # sorting necessary in order to properly detect changes, as we don't want to get false positive # results due to differences in ids ordering; @@ -370,28 +370,28 @@ def main(): if not this_issue: issue = this_gitlab.create_issue(options) module.exit_json( - changed=True, msg="Created Issue '{t}'.".format(t=title), + changed=True, msg=f"Created Issue '{title}'.", issue=issue.asdict() ) else: if this_gitlab.issue_has_changed(this_issue, options): issue = this_gitlab.update_issue(this_issue, options) module.exit_json( - changed=True, msg="Updated Issue '{t}'.".format(t=title), + changed=True, msg=f"Updated Issue '{title}'.", issue=issue ) else: module.exit_json( - changed=False, msg="Issue '{t}' already exists".format(t=title), + changed=False, msg=f"Issue '{title}' already exists", issue=this_issue.asdict() ) elif state == "absent": if not this_issue: - module.exit_json(changed=False, msg="Issue '{t}' does not exist or has already been deleted.".format(t=title)) + module.exit_json(changed=False, msg=f"Issue '{title}' does not exist or has already been deleted.") else: issue = this_gitlab.delete_issue(this_issue) module.exit_json( - changed=True, msg="Issue '{t}' deleted.".format(t=title), + changed=True, msg=f"Issue '{title}' deleted.", issue=issue ) diff --git a/plugins/modules/gitlab_label.py b/plugins/modules/gitlab_label.py index 5b6d80e20c..71dce5885d 100644 --- a/plugins/modules/gitlab_label.py +++ b/plugins/modules/gitlab_label.py @@ -460,9 +460,9 @@ def main(): # if both not found, module must exist if not gitlab_project_id and not gitlab_group_id: if gitlab_project and not gitlab_project_id: - module.fail_json(msg="project '%s' not found." % gitlab_project) + module.fail_json(msg=f"project '{gitlab_project}' not found.") if gitlab_group and not gitlab_group_id: - module.fail_json(msg="group '%s' not found." % gitlab_group) + module.fail_json(msg=f"group '{gitlab_group}' not found.") this_gitlab = GitlabLabels(module=module, gitlab_instance=gitlab_instance, group_id=gitlab_group_id, project_id=gitlab_project_id) diff --git a/plugins/modules/gitlab_merge_request.py b/plugins/modules/gitlab_merge_request.py index 83000a8ac1..cda72ebe24 100644 --- a/plugins/modules/gitlab_merge_request.py +++ b/plugins/modules/gitlab_merge_request.py @@ -144,7 +144,7 @@ mr: from ansible.module_utils.basic import AnsibleModule from ansible.module_utils.api import basic_auth_argument_spec -from ansible.module_utils.common.text.converters import to_native, to_text +from ansible.module_utils.common.text.converters import to_text from ansible_collections.community.general.plugins.module_utils.version import LooseVersion from ansible_collections.community.general.plugins.module_utils.gitlab import ( @@ -166,7 +166,7 @@ class GitlabMergeRequest(object): try: return self.project.branches.get(branch) except gitlab.exceptions.GitlabGetError as e: - self._module.fail_json(msg="Failed to get the branch: %s" % to_native(e)) + self._module.fail_json(msg=f"Failed to get the branch: {e}") ''' @param title Title of the Merge Request @@ -179,7 +179,7 @@ class GitlabMergeRequest(object): try: mrs = self.project.mergerequests.list(search=title, source_branch=source_branch, target_branch=target_branch, state=state_filter) except gitlab.exceptions.GitlabGetError as e: - self._module.fail_json(msg="Failed to list the Merge Request: %s" % to_native(e)) + self._module.fail_json(msg=f"Failed to list the Merge Request: {e}") if len(mrs) > 1: self._module.fail_json(msg="Multiple Merge Requests matched search criteria.") @@ -187,7 +187,7 @@ class GitlabMergeRequest(object): try: return self.project.mergerequests.get(id=mrs[0].iid) except gitlab.exceptions.GitlabGetError as e: - self._module.fail_json(msg="Failed to get the Merge Request: %s" % to_native(e)) + self._module.fail_json(msg=f"Failed to get the Merge Request: {e}") ''' @param username Name of the user @@ -197,7 +197,7 @@ class GitlabMergeRequest(object): try: users = [user for user in self.project.users.list(username=username, all=True) if user.username == username] except gitlab.exceptions.GitlabGetError as e: - self._module.fail_json(msg="Failed to list the users: %s" % to_native(e)) + self._module.fail_json(msg=f"Failed to list the users: {e}") if len(users) > 1: self._module.fail_json(msg="Multiple Users matched search criteria.") @@ -217,36 +217,36 @@ class GitlabMergeRequest(object): ''' def create_mr(self, options): if self._module.check_mode: - self._module.exit_json(changed=True, msg="Successfully created the Merge Request %s" % options["title"]) + self._module.exit_json(changed=True, msg=f"Successfully created the Merge Request {options['title']}") try: return self.project.mergerequests.create(options) except gitlab.exceptions.GitlabCreateError as e: - self._module.fail_json(msg="Failed to create Merge Request: %s " % to_native(e)) + self._module.fail_json(msg=f"Failed to create Merge Request: {e}") ''' @param mr Merge Request object to delete ''' def delete_mr(self, mr): if self._module.check_mode: - self._module.exit_json(changed=True, msg="Successfully deleted the Merge Request %s" % mr["title"]) + self._module.exit_json(changed=True, msg=f"Successfully deleted the Merge Request {mr['title']}") try: return mr.delete() except gitlab.exceptions.GitlabDeleteError as e: - self._module.fail_json(msg="Failed to delete Merge Request: %s " % to_native(e)) + self._module.fail_json(msg=f"Failed to delete Merge Request: {e}") ''' @param mr Merge Request object to update ''' def update_mr(self, mr, options): if self._module.check_mode: - self._module.exit_json(changed=True, msg="Successfully updated the Merge Request %s" % mr["title"]) + self._module.exit_json(changed=True, msg=f"Successfully updated the Merge Request {mr['title']}") try: return self.project.mergerequests.update(mr.iid, options) except gitlab.exceptions.GitlabUpdateError as e: - self._module.fail_json(msg="Failed to update Merge Request: %s " % to_native(e)) + self._module.fail_json(msg=f"Failed to update Merge Request: {e}") ''' @param mr Merge Request object to evaluate @@ -336,22 +336,24 @@ def main(): gitlab_version = gitlab.__version__ if LooseVersion(gitlab_version) < LooseVersion('2.3.0'): - module.fail_json(msg="community.general.gitlab_merge_request requires python-gitlab Python module >= 2.3.0 (installed version: [%s])." - " Please upgrade python-gitlab to version 2.3.0 or above." % gitlab_version) + module.fail_json( + msg=f"community.general.gitlab_merge_request requires python-gitlab Python module >= 2.3.0 (installed version: [{gitlab_version}])." + " Please upgrade python-gitlab to version 2.3.0 or above." + ) this_project = find_project(gitlab_instance, project) if this_project is None: - module.fail_json(msg="Failed to get the project: %s" % project) + module.fail_json(msg=f"Failed to get the project: {project}") this_gitlab = GitlabMergeRequest(module=module, project=this_project, gitlab_instance=gitlab_instance) r_source_branch = this_gitlab.get_branch(source_branch) if not r_source_branch: - module.fail_json(msg="Source branch {b} not exist.".format(b=r_source_branch)) + module.fail_json(msg=f"Source branch {r_source_branch} not exist.") r_target_branch = this_gitlab.get_branch(target_branch) if not r_target_branch: - module.fail_json(msg="Destination branch {b} not exist.".format(b=r_target_branch)) + module.fail_json(msg=f"Destination branch {r_target_branch} not exist.") this_mr = this_gitlab.get_mr(title, source_branch, target_branch, state_filter) @@ -361,7 +363,7 @@ def main(): with open(description_path, 'rb') as f: description = to_text(f.read(), errors='surrogate_or_strict') except IOError as e: - module.fail_json(msg='Cannot open {0}: {1}'.format(description_path, e)) + module.fail_json(msg=f'Cannot open {description_path}: {e}') # sorting necessary in order to properly detect changes, as we don't want to get false positive # results due to differences in ids ordering; see `mr_has_changed()` @@ -384,25 +386,25 @@ def main(): mr = this_gitlab.create_mr(options) module.exit_json( - changed=True, msg="Created the Merge Request {t} from branch {s} to branch {d}.".format(t=title, d=target_branch, s=source_branch), + changed=True, msg=f"Created the Merge Request {title} from branch {source_branch} to branch {target_branch}.", mr=mr.asdict() ) else: if this_gitlab.mr_has_changed(this_mr, options): mr = this_gitlab.update_mr(this_mr, options) module.exit_json( - changed=True, msg="Merge Request {t} from branch {s} to branch {d} updated.".format(t=title, d=target_branch, s=source_branch), + changed=True, msg=f"Merge Request {title} from branch {source_branch} to branch {target_branch} updated.", mr=mr ) else: module.exit_json( - changed=False, msg="Merge Request {t} from branch {s} to branch {d} already exist".format(t=title, d=target_branch, s=source_branch), + changed=False, msg=f"Merge Request {title} from branch {source_branch} to branch {target_branch} already exist", mr=this_mr.asdict() ) elif this_mr and state == "absent": mr = this_gitlab.delete_mr(this_mr) module.exit_json( - changed=True, msg="Merge Request {t} from branch {s} to branch {d} deleted.".format(t=title, d=target_branch, s=source_branch), + changed=True, msg=f"Merge Request {title} from branch {source_branch} to branch {target_branch} deleted.", mr=mr ) else: diff --git a/plugins/modules/gitlab_milestone.py b/plugins/modules/gitlab_milestone.py index bb4992117c..412891970d 100644 --- a/plugins/modules/gitlab_milestone.py +++ b/plugins/modules/gitlab_milestone.py @@ -272,13 +272,13 @@ class GitlabMilestones(object): if _found: return _found[0].id else: - self._module.fail_json(msg="milestone '%s' not found." % _title) + self._module.fail_json(msg=f"milestone '{_title}' not found.") def check_date(self, _date): try: datetime.strptime(_date, '%Y-%m-%d') except ValueError: - self._module.fail_json(msg="milestone's date '%s' not in correct format." % _date) + self._module.fail_json(msg=f"milestone's date '{_date}' not in correct format.") return _date def delete_milestone(self, var_obj): @@ -460,9 +460,9 @@ def main(): # if both not found, module must exist if not gitlab_project_id and not gitlab_group_id: if gitlab_project and not gitlab_project_id: - module.fail_json(msg="project '%s' not found." % gitlab_project) + module.fail_json(msg=f"project '{gitlab_project}' not found.") if gitlab_group and not gitlab_group_id: - module.fail_json(msg="group '%s' not found." % gitlab_group) + module.fail_json(msg=f"group '{gitlab_group}' not found.") this_gitlab = GitlabMilestones(module=module, gitlab_instance=gitlab_instance, group_id=gitlab_group_id, project_id=gitlab_project_id) diff --git a/plugins/modules/gitlab_project.py b/plugins/modules/gitlab_project.py index b745fe9424..5024079b93 100644 --- a/plugins/modules/gitlab_project.py +++ b/plugins/modules/gitlab_project.py @@ -409,7 +409,6 @@ project: from ansible.module_utils.api import basic_auth_argument_spec from ansible.module_utils.basic import AnsibleModule -from ansible.module_utils.common.text.converters import to_native from ansible_collections.community.general.plugins.module_utils.gitlab import ( auth_argument_spec, find_group, find_project, gitlab_authentication, gitlab @@ -495,7 +494,7 @@ class GitLabProject(object): try: project.avatar = open(options['avatar_path'], 'rb') except IOError as e: - self._module.fail_json(msg='Cannot open {0}: {1}'.format(options['avatar_path'], e)) + self._module.fail_json(msg=f"Cannot open {options['avatar_path']}: {e}") changed = True else: @@ -506,12 +505,12 @@ class GitLabProject(object): self.project_object = project if changed: if self._module.check_mode: - self._module.exit_json(changed=True, msg="Successfully created or updated the project %s" % project_name) + self._module.exit_json(changed=True, msg=f"Successfully created or updated the project {project_name}") try: project.save() except Exception as e: - self._module.fail_json(msg="Failed to update project: %s " % e) + self._module.fail_json(msg=f"Failed to update project: {e} ") return True return False @@ -529,7 +528,7 @@ class GitLabProject(object): try: project = self._gitlab.projects.create(arguments) except (gitlab.exceptions.GitlabCreateError) as e: - self._module.fail_json(msg="Failed to create project: %s " % to_native(e)) + self._module.fail_json(msg=f"Failed to create project: {e} ") return project @@ -582,7 +581,7 @@ class GitLabProject(object): ''' def exists_project(self, namespace, path): # When project exists, object will be stored in self.project_object. - project = find_project(self._gitlab, namespace.full_path + '/' + path) + project = find_project(self._gitlab, f"{namespace.full_path}/{path}") if project: self.project_object = project return True @@ -721,7 +720,7 @@ def main(): if group_identifier: group = find_group(gitlab_instance, group_identifier) if group is None: - module.fail_json(msg="Failed to create project: group %s doesn't exist" % group_identifier) + module.fail_json(msg=f"Failed to create project: group {group_identifier} doesn't exist") namespace_id = group.id else: @@ -737,7 +736,7 @@ def main(): try: namespace = gitlab_instance.namespaces.get(namespace_id) except gitlab.exceptions.GitlabGetError as e: - module.fail_json(msg="Failed to find the namespace for the given user: %s" % to_native(e)) + module.fail_json(msg=f"Failed to find the namespace for the given user: {e}") if not namespace: module.fail_json(msg="Failed to find the namespace for the project") @@ -746,7 +745,7 @@ def main(): if state == 'absent': if project_exists: gitlab_project.delete_project() - module.exit_json(changed=True, msg="Successfully deleted project %s" % project_name) + module.exit_json(changed=True, msg=f"Successfully deleted project {project_name}") module.exit_json(changed=False, msg="Project deleted or does not exist") if state == 'present': @@ -792,8 +791,8 @@ def main(): "wiki_enabled": wiki_enabled, }): - module.exit_json(changed=True, msg="Successfully created or updated the project %s" % project_name, project=gitlab_project.project_object._attrs) - module.exit_json(changed=False, msg="No need to update the project %s" % project_name, project=gitlab_project.project_object._attrs) + module.exit_json(changed=True, msg=f"Successfully created or updated the project {project_name}", project=gitlab_project.project_object._attrs) + module.exit_json(changed=False, msg=f"No need to update the project {project_name}", project=gitlab_project.project_object._attrs) if __name__ == '__main__': diff --git a/plugins/modules/gitlab_project_access_token.py b/plugins/modules/gitlab_project_access_token.py index 27e3b07129..deeb18c6a5 100644 --- a/plugins/modules/gitlab_project_access_token.py +++ b/plugins/modules/gitlab_project_access_token.py @@ -156,7 +156,6 @@ from datetime import datetime from ansible.module_utils.api import basic_auth_argument_spec from ansible.module_utils.basic import AnsibleModule -from ansible.module_utils.common.text.converters import to_native from ansible_collections.community.general.plugins.module_utils.gitlab import ( auth_argument_spec, find_project, gitlab_authentication, gitlab @@ -184,7 +183,7 @@ class GitLabProjectAccessToken(object): self.access_token_object = project.access_tokens.create(arguments) changed = True except (gitlab.exceptions.GitlabCreateError) as e: - self._module.fail_json(msg="Failed to create access token: %s " % to_native(e)) + self._module.fail_json(msg=f"Failed to create access token: {e}") return changed @@ -209,7 +208,7 @@ class GitLabProjectAccessToken(object): self.access_token_object.delete() changed = True except (gitlab.exceptions.GitlabCreateError) as e: - self._module.fail_json(msg="Failed to revoke access token: %s " % to_native(e)) + self._module.fail_json(msg=f"Failed to revoke access token: {e}") return changed @@ -291,7 +290,7 @@ def main(): project = find_project(gitlab_instance, project_identifier) if project is None: - module.fail_json(msg="Failed to create access token: project %s does not exists" % project_identifier) + module.fail_json(msg=f"Failed to create access token: project {project_identifier} does not exists") gitlab_access_token_exists = False gitlab_access_token.find_access_token(project, name) @@ -301,7 +300,7 @@ def main(): if state == 'absent': if gitlab_access_token_exists: gitlab_access_token.revoke_access_token() - module.exit_json(changed=True, msg="Successfully deleted access token %s" % name) + module.exit_json(changed=True, msg=f"Successfully deleted access token {name}") else: module.exit_json(changed=False, msg="Access token does not exists") diff --git a/plugins/modules/gitlab_project_badge.py b/plugins/modules/gitlab_project_badge.py index 8d81765f99..e3e301dcc5 100644 --- a/plugins/modules/gitlab_project_badge.py +++ b/plugins/modules/gitlab_project_badge.py @@ -165,7 +165,7 @@ def core(module): project = find_project(gl, gitlab_project) # project doesn't exist if not project: - module.fail_json(msg="project '%s' not found." % gitlab_project) + module.fail_json(msg=f"project '{gitlab_project}' not found.") wished_badge = { "link_url": module.params["link_url"], diff --git a/plugins/modules/gitlab_project_members.py b/plugins/modules/gitlab_project_members.py index c496d4aae5..f037d1a2b6 100644 --- a/plugins/modules/gitlab_project_members.py +++ b/plugins/modules/gitlab_project_members.py @@ -304,7 +304,7 @@ def main(): # project doesn't exist if not gitlab_project_id: - module.fail_json(msg="project '%s' not found." % gitlab_project) + module.fail_json(msg=f"project '{gitlab_project}' not found.") members = [] if module.params['gitlab_user'] is not None: @@ -342,14 +342,14 @@ def main(): # user doesn't exist if not gitlab_user_id: if state == 'absent': - changed_users.append("user '%s' not found, and thus also not part of the project" % gitlab_user['name']) + changed_users.append(f"user '{gitlab_user['name']}' not found, and thus also not part of the project") changed_data.append({'gitlab_user': gitlab_user['name'], 'result': 'OK', - 'msg': "user '%s' not found, and thus also not part of the project" % gitlab_user['name']}) + 'msg': f"user '{gitlab_user['name']}' not found, and thus also not part of the project"}) else: error = True - changed_users.append("user '%s' not found." % gitlab_user['name']) + changed_users.append(f"user '{gitlab_user['name']}' not found.") changed_data.append({'gitlab_user': gitlab_user['name'], 'result': 'FAILED', - 'msg': "user '%s' not found." % gitlab_user['name']}) + 'msg': f"user '{gitlab_user['name']}' not found."}) continue is_user_a_member = project.is_user_a_member(members, gitlab_user_id) @@ -362,56 +362,56 @@ def main(): if not module.check_mode: project.add_member_to_project(gitlab_user_id, gitlab_project_id, gitlab_user['access_level']) changed = True - changed_users.append("Successfully added user '%s' to project" % gitlab_user['name']) + changed_users.append(f"Successfully added user '{gitlab_user['name']}' to project") changed_data.append({'gitlab_user': gitlab_user['name'], 'result': 'CHANGED', - 'msg': "Successfully added user '%s' to project" % gitlab_user['name']}) + 'msg': f"Successfully added user '{gitlab_user['name']}' to project"}) except (gitlab.exceptions.GitlabCreateError) as e: error = True - changed_users.append("Failed to updated the access level for the user, '%s'" % gitlab_user['name']) + changed_users.append(f"Failed to updated the access level for the user, '{gitlab_user['name']}'") changed_data.append({'gitlab_user': gitlab_user['name'], 'result': 'FAILED', - 'msg': "Not allowed to add the access level for the member, %s: %s" % (gitlab_user['name'], e)}) + 'msg': f"Not allowed to add the access level for the member, {gitlab_user['name']}: {e}"}) # state as absent else: - changed_users.append("User, '%s', is not a member in the project. No change to report" % gitlab_user['name']) + changed_users.append(f"User, '{gitlab_user['name']}', is not a member in the project. No change to report") changed_data.append({'gitlab_user': gitlab_user['name'], 'result': 'OK', - 'msg': "User, '%s', is not a member in the project. No change to report" % gitlab_user['name']}) + 'msg': f"User, '{gitlab_user['name']}', is not a member in the project. No change to report"}) # in case that a user is a member else: if state == 'present': # compare the access level user_access_level = project.get_user_access_level(members, gitlab_user_id) if user_access_level == gitlab_user['access_level']: - changed_users.append("User, '%s', is already a member in the project. No change to report" % gitlab_user['name']) + changed_users.append(f"User, '{gitlab_user['name']}', is already a member in the project. No change to report") changed_data.append({'gitlab_user': gitlab_user['name'], 'result': 'OK', - 'msg': "User, '%s', is already a member in the project. No change to report" % gitlab_user['name']}) + 'msg': f"User, '{gitlab_user['name']}', is already a member in the project. No change to report"}) else: # update the access level for the user try: if not module.check_mode: project.update_user_access_level(members, gitlab_user_id, gitlab_user['access_level']) changed = True - changed_users.append("Successfully updated the access level for the user, '%s'" % gitlab_user['name']) + changed_users.append(f"Successfully updated the access level for the user, '{gitlab_user['name']}'") changed_data.append({'gitlab_user': gitlab_user['name'], 'result': 'CHANGED', - 'msg': "Successfully updated the access level for the user, '%s'" % gitlab_user['name']}) + 'msg': f"Successfully updated the access level for the user, '{gitlab_user['name']}'"}) except (gitlab.exceptions.GitlabUpdateError) as e: error = True - changed_users.append("Failed to updated the access level for the user, '%s'" % gitlab_user['name']) + changed_users.append(f"Failed to updated the access level for the user, '{gitlab_user['name']}'") changed_data.append({'gitlab_user': gitlab_user['name'], 'result': 'FAILED', - 'msg': "Not allowed to update the access level for the member, %s: %s" % (gitlab_user['name'], e)}) + 'msg': f"Not allowed to update the access level for the member, {gitlab_user['name']}: {e}"}) else: # remove the user from the project try: if not module.check_mode: project.remove_user_from_project(gitlab_user_id, gitlab_project_id) changed = True - changed_users.append("Successfully removed user, '%s', from the project" % gitlab_user['name']) + changed_users.append(f"Successfully removed user, '{gitlab_user['name']}', from the project") changed_data.append({'gitlab_user': gitlab_user['name'], 'result': 'CHANGED', - 'msg': "Successfully removed user, '%s', from the project" % gitlab_user['name']}) + 'msg': f"Successfully removed user, '{gitlab_user['name']}', from the project"}) except (gitlab.exceptions.GitlabDeleteError) as e: error = True - changed_users.append("Failed to removed user, '%s', from the project" % gitlab_user['name']) + changed_users.append(f"Failed to removed user, '{gitlab_user['name']}', from the project") changed_data.append({'gitlab_user': gitlab_user['name'], 'result': 'FAILED', - 'msg': "Failed to remove user, '%s' from the project: %s" % (gitlab_user['name'], e)}) + 'msg': f"Failed to remove user, '{gitlab_user['name']}' from the project: {e}"}) # if state = present and purge_users set delete users which are in members having give access level but not in gitlab_users if state == 'present' and purge_users: @@ -425,18 +425,18 @@ def main(): if not module.check_mode: project.remove_user_from_project(member.id, gitlab_project_id) changed = True - changed_users.append("Successfully removed user '%s', from project. Was not in given list" % member.username) + changed_users.append(f"Successfully removed user '{member.username}', from project. Was not in given list") changed_data.append({'gitlab_user': member.username, 'result': 'CHANGED', - 'msg': "Successfully removed user '%s', from project. Was not in given list" % member.username}) + 'msg': f"Successfully removed user '{member.username}', from project. Was not in given list"}) except (gitlab.exceptions.GitlabDeleteError) as e: error = True - changed_users.append("Failed to removed user, '%s', from the project" % gitlab_user['name']) + changed_users.append(f"Failed to removed user, '{gitlab_user['name']}', from the project") changed_data.append({'gitlab_user': gitlab_user['name'], 'result': 'FAILED', - 'msg': "Failed to remove user, '%s' from the project: %s" % (gitlab_user['name'], e)}) + 'msg': f"Failed to remove user, '{gitlab_user['name']}' from the project: {e}"}) if len(gitlab_users_access) == 1 and error: # if single user given and an error occurred return error for list errors will be per user - module.fail_json(msg="FAILED: '%s '" % changed_users[0], result_data=changed_data) + module.fail_json(msg=f"FAILED: '{changed_users[0]} '", result_data=changed_data) elif error: module.fail_json( msg='FAILED: At least one given user/permission could not be set', result_data=changed_data) diff --git a/plugins/modules/gitlab_protected_branch.py b/plugins/modules/gitlab_protected_branch.py index c779736cc6..ea2f3fd6d9 100644 --- a/plugins/modules/gitlab_protected_branch.py +++ b/plugins/modules/gitlab_protected_branch.py @@ -200,8 +200,10 @@ def main(): gitlab_version = gitlab.__version__ if LooseVersion(gitlab_version) < LooseVersion('2.3.0'): - module.fail_json(msg="community.general.gitlab_protected_branch requires python-gitlab Python module >= 2.3.0 (installed version: [%s])." - " Please upgrade python-gitlab to version 2.3.0 or above." % gitlab_version) + module.fail_json( + msg=f"community.general.gitlab_protected_branch requires python-gitlab Python module >= 2.3.0 (installed version: [{gitlab_version}])." + " Please upgrade python-gitlab to version 2.3.0 or above." + ) this_gitlab = GitlabProtectedBranch(module=module, project=project, gitlab_instance=gitlab_instance) diff --git a/plugins/modules/gitlab_runner.py b/plugins/modules/gitlab_runner.py index 889e2471cc..d4574befbb 100644 --- a/plugins/modules/gitlab_runner.py +++ b/plugins/modules/gitlab_runner.py @@ -259,7 +259,6 @@ runner: from ansible.module_utils.api import basic_auth_argument_spec from ansible.module_utils.basic import AnsibleModule -from ansible.module_utils.common.text.converters import to_native from ansible_collections.community.general.plugins.module_utils.gitlab import ( auth_argument_spec, gitlab_authentication, gitlab, list_all_kwargs @@ -328,12 +327,12 @@ class GitLabRunner(object): changed, runner = self.update_runner(self.runner_object, arguments) if changed: if self._module.check_mode: - self._module.exit_json(changed=True, msg="Successfully updated the runner %s" % description) + self._module.exit_json(changed=True, msg=f"Successfully updated the runner {description}") try: runner.save() except Exception as e: - self._module.fail_json(msg="Failed to update runner: %s " % to_native(e)) + self._module.fail_json(msg=f"Failed to update runner: {e} ") self.runner_object = runner return changed @@ -356,7 +355,7 @@ class GitLabRunner(object): else: runner = self._gitlab.user.runners.create(arguments) except (gitlab.exceptions.GitlabCreateError) as e: - self._module.fail_json(msg="Failed to create runner: %s " % to_native(e)) + self._module.fail_json(msg=f"Failed to create runner: {e}") return runner @@ -486,12 +485,12 @@ def main(): try: gitlab_project = gitlab_instance.projects.get(project) except gitlab.exceptions.GitlabGetError as e: - module.fail_json(msg='No such a project %s' % project, exception=to_native(e)) + module.fail_json(msg=f'No such a project {project}', exception=e) elif group: try: gitlab_group = gitlab_instance.groups.get(group) except gitlab.exceptions.GitlabGetError as e: - module.fail_json(msg='No such a group %s' % group, exception=to_native(e)) + module.fail_json(msg=f'No such a group {group}', exception=e) gitlab_runner = GitLabRunner(module, gitlab_instance, gitlab_group, gitlab_project) runner_exists = gitlab_runner.exists_runner(runner_description) @@ -499,7 +498,7 @@ def main(): if state == 'absent': if runner_exists: gitlab_runner.delete_runner() - module.exit_json(changed=True, msg="Successfully deleted runner %s" % runner_description) + module.exit_json(changed=True, msg=f"Successfully deleted runner {runner_description}") else: module.exit_json(changed=False, msg="Runner deleted or does not exists") @@ -520,10 +519,10 @@ def main(): runner_values["paused"] = runner_paused if gitlab_runner.create_or_update_runner(runner_description, runner_values): module.exit_json(changed=True, runner=gitlab_runner.runner_object._attrs, - msg="Successfully created or updated the runner %s" % runner_description) + msg=f"Successfully created or updated the runner {runner_description}") else: module.exit_json(changed=False, runner=gitlab_runner.runner_object._attrs, - msg="No need to update the runner %s" % runner_description) + msg=f"No need to update the runner {runner_description}") if __name__ == '__main__': diff --git a/plugins/modules/gitlab_user.py b/plugins/modules/gitlab_user.py index 58bfc126ac..845c28bafc 100644 --- a/plugins/modules/gitlab_user.py +++ b/plugins/modules/gitlab_user.py @@ -219,7 +219,6 @@ user: from ansible.module_utils.api import basic_auth_argument_spec from ansible.module_utils.basic import AnsibleModule -from ansible.module_utils.common.text.converters import to_native from ansible_collections.community.general.plugins.module_utils.gitlab import ( auth_argument_spec, find_group, gitlab_authentication, gitlab, list_all_kwargs @@ -315,11 +314,11 @@ class GitLabUser(object): try: user.save() except Exception as e: - self._module.fail_json(msg="Failed to update user: %s " % to_native(e)) + self._module.fail_json(msg=f"Failed to update user: {e} ") if changed: if self._module.check_mode: - self._module.exit_json(changed=True, msg="Successfully created or updated the user %s" % username) + self._module.exit_json(changed=True, msg=f"Successfully created or updated the user {username}") return True else: return False @@ -360,7 +359,7 @@ class GitLabUser(object): parameter['expires_at'] = sshkey['expires_at'] user.keys.create(parameter) except gitlab.exceptions.GitlabCreateError as e: - self._module.fail_json(msg="Failed to assign sshkey to user: %s" % to_native(e)) + self._module.fail_json(msg=f"Failed to assign sshkey to user: {e}") return True return False @@ -420,7 +419,7 @@ class GitLabUser(object): 'user_id': self.get_user_id(user), 'access_level': self.ACCESS_LEVEL[access_level]}) except gitlab.exceptions.GitlabCreateError as e: - self._module.fail_json(msg="Failed to assign user to group: %s" % to_native(e)) + self._module.fail_json(msg=f"Failed to assign user to group: {e}") return True return False @@ -468,7 +467,7 @@ class GitLabUser(object): self.add_identities(user, identities) except (gitlab.exceptions.GitlabCreateError) as e: - self._module.fail_json(msg="Failed to create user: %s " % to_native(e)) + self._module.fail_json(msg=f"Failed to create user: {e}") return user @@ -639,21 +638,21 @@ def main(): if state == 'absent': if user_exists: gitlab_user.delete_user() - module.exit_json(changed=True, msg="Successfully deleted user %s" % user_username) + module.exit_json(changed=True, msg=f"Successfully deleted user {user_username}") else: module.exit_json(changed=False, msg="User deleted or does not exists") if state == 'blocked': if user_exists and user_is_active: gitlab_user.block_user() - module.exit_json(changed=True, msg="Successfully blocked user %s" % user_username) + module.exit_json(changed=True, msg=f"Successfully blocked user {user_username}") else: module.exit_json(changed=False, msg="User already blocked or does not exists") if state == 'unblocked': if user_exists and not user_is_active: gitlab_user.unblock_user() - module.exit_json(changed=True, msg="Successfully unblocked user %s" % user_username) + module.exit_json(changed=True, msg=f"Successfully unblocked user {user_username}") else: module.exit_json(changed=False, msg="User is not blocked or does not exists") @@ -674,9 +673,9 @@ def main(): "identities": user_identities, "overwrite_identities": overwrite_identities, }): - module.exit_json(changed=True, msg="Successfully created or updated the user %s" % user_username, user=gitlab_user.user_object._attrs) + module.exit_json(changed=True, msg=f"Successfully created or updated the user {user_username}", user=gitlab_user.user_object._attrs) else: - module.exit_json(changed=False, msg="No need to update the user %s" % user_username, user=gitlab_user.user_object._attrs) + module.exit_json(changed=False, msg=f"No need to update the user {user_username}", user=gitlab_user.user_object._attrs) if __name__ == '__main__': diff --git a/plugins/modules/grove.py b/plugins/modules/grove.py index fc71322688..4a2eb18fd5 100644 --- a/plugins/modules/grove.py +++ b/plugins/modules/grove.py @@ -88,7 +88,7 @@ def do_notify_grove(module, channel_token, service, message, url=None, icon_url= data = urlencode(my_data) response, info = fetch_url(module, my_url, data=data) if info['status'] != 200: - module.fail_json(msg="failed to send notification: %s" % info['msg']) + module.fail_json(msg=f"failed to send notification: {info['msg']}") # ============================================================== # main diff --git a/plugins/modules/gunicorn.py b/plugins/modules/gunicorn.py index b7033d3471..9726163ccf 100644 --- a/plugins/modules/gunicorn.py +++ b/plugins/modules/gunicorn.py @@ -160,7 +160,7 @@ def main(): # use venv path if exists if venv: - gunicorn_command = "/".join((venv, 'bin', 'gunicorn')) + gunicorn_command = f"{venv}/bin/gunicorn" else: gunicorn_command = module.get_bin_path('gunicorn') @@ -207,7 +207,7 @@ def main(): else: # if user defined own error log, check that if error_log: - error = 'Please check your {0}'.format(error_log.strip()) + error = f'Please check your {error_log.strip()}' else: if os.path.isfile(tmp_error_log): with open(tmp_error_log, 'r') as f: @@ -217,10 +217,10 @@ def main(): else: error = "Log not found" - module.fail_json(msg='Failed to start gunicorn. {0}'.format(error), error=err) + module.fail_json(msg=f'Failed to start gunicorn. {error}', error=err) else: - module.fail_json(msg='Failed to start gunicorn {0}'.format(err), error=err) + module.fail_json(msg=f'Failed to start gunicorn {err}', error=err) if __name__ == '__main__':