From e0419bab163decde79f3e8b63c97099838e4d7fe Mon Sep 17 00:00:00 2001 From: Sorin Sbarnea Date: Fri, 21 Apr 2023 17:37:45 +0100 Subject: [PATCH] More ruff fixes (#3887) --- .pre-commit-config.yaml | 4 ---- pyproject.toml | 11 +++++++---- src/molecule/command/login.py | 2 ++ src/molecule/provisioner/ansible_playbooks.py | 4 ++-- src/molecule/test/functional/conftest.py | 2 +- src/molecule/util.py | 2 +- 6 files changed, 13 insertions(+), 12 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 575cd9476c..4ec2f0e5d3 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -24,10 +24,6 @@ repos: rev: v2.2.4 hooks: - id: codespell - - repo: https://github.com/PyCQA/isort - rev: 5.12.0 - hooks: - - id: isort - repo: https://github.com/psf/black rev: 23.3.0 hooks: diff --git a/pyproject.toml b/pyproject.toml index a988002194..54e90f45e7 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -156,8 +156,10 @@ filterwarnings = [ [tool.ruff] ignore = [ + # Disabled on purpose: "E501", # we use black - # temporary disabled until we fix them: + "FBT", # Boolean positional value in function call + # Temporary disabled until we fix them: "A", "ANN", "ARG", @@ -168,18 +170,15 @@ ignore = [ "E741", "EM", "EXE", - "FBT", "INP", "ISC", "N", "PGH", - "PLC", "PLR", "PLW", "PT", "PTH", "RET", - "S", "SIM", "SLF", "T", @@ -196,6 +195,10 @@ parametrize-values-type = "tuple" [tool.ruff.isort] known-first-party = ["molecule"] +[tool.ruff.per-file-ignores] +"src/molecule/test/**.py" = ["S"] +"src/molecule/*/\\{\\{*/**.py" = ["S"] + [tool.setuptools.dynamic] optional-dependencies.docs = { file = [".config/requirements-docs.txt"] } optional-dependencies.test = { file = [".config/requirements-test.txt"] } diff --git a/src/molecule/command/login.py b/src/molecule/command/login.py index d982aedcef..18b36a7f1a 100644 --- a/src/molecule/command/login.py +++ b/src/molecule/command/login.py @@ -91,6 +91,7 @@ def _get_hostname(self, hosts): return match[0] def _get_login(self, hostname): # pragma: no cover + # ruff: noqa: S605,S607 lines, columns = os.popen("stty size", "r").read().split() login_options = self._config.driver.login_options(hostname) login_options["columns"] = columns @@ -98,6 +99,7 @@ def _get_login(self, hostname): # pragma: no cover login_cmd = self._config.driver.login_cmd_template.format(**login_options) cmd = shlex.split(f"/usr/bin/env {login_cmd}") + # ruff: noqa: S603 subprocess.run(cmd) diff --git a/src/molecule/provisioner/ansible_playbooks.py b/src/molecule/provisioner/ansible_playbooks.py index 512c4f95c4..ddbbd4ed46 100644 --- a/src/molecule/provisioner/ansible_playbooks.py +++ b/src/molecule/provisioner/ansible_playbooks.py @@ -85,8 +85,8 @@ def _get_playbook(self, section): if driver_dict: try: playbook = driver_dict[section] - except Exception: - pass + except Exception as exc: + LOG.exception(exc) if playbook is not None: playbook = self._config.provisioner.abs_path(playbook) playbook = self._normalize_playbook(playbook) diff --git a/src/molecule/test/functional/conftest.py b/src/molecule/test/functional/conftest.py index 2716a0d2ab..2396a693aa 100644 --- a/src/molecule/test/functional/conftest.py +++ b/src/molecule/test/functional/conftest.py @@ -58,7 +58,7 @@ def _env_vars_exposed(env_vars, env=os.environ): for env_var in env_vars: if env_var not in os.environ: return False - return os.environ[env_var] != "" + return bool(os.environ[env_var]) return None diff --git a/src/molecule/util.py b/src/molecule/util.py index 7780130639..66c7610c4b 100644 --- a/src/molecule/util.py +++ b/src/molecule/util.py @@ -175,7 +175,7 @@ def os_walk(directory, pattern, excludes=[], followlinks=False): def render_template(template, **kwargs): """Render a jinaj2 template.""" - t = jinja2.Environment() + t = jinja2.Environment(autoescape=True) t = t.from_string(template) return t.render(kwargs)