pre-commit-vauxoo 8.3.1__tar.gz → 8.3.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (111) hide show
  1. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/.bumpversion.cfg +1 -1
  2. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/ChangeLog +7 -0
  3. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/PKG-INFO +15 -4
  4. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/README.rst +9 -5
  5. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/docs/conf.py +1 -1
  6. pre_commit_vauxoo-8.3.2/resources/module_warnings1/tests/data/ruff_optional_use_cases.py +108 -0
  7. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/setup.py +1 -1
  8. pre_commit_vauxoo-8.3.2/src/pre_commit_vauxoo/__init__.py +1 -0
  9. pre_commit_vauxoo-8.3.1/src/pre_commit_vauxoo/cfg/.flake8-optional → pre_commit_vauxoo-8.3.2/src/pre_commit_vauxoo/cfg/.flake8-optional.jinja +15 -0
  10. pre_commit_vauxoo-8.3.1/src/pre_commit_vauxoo/cfg/.flake8 → pre_commit_vauxoo-8.3.2/src/pre_commit_vauxoo/cfg/.flake8.jinja +10 -1
  11. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/src/pre_commit_vauxoo/cfg/.pre-commit-config-optional.yaml.jinja +17 -4
  12. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/src/pre_commit_vauxoo/cfg/.pre-commit-config.yaml.jinja +13 -3
  13. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/src/pre_commit_vauxoo/cfg/.pylintrc-optional.jinja +15 -11
  14. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/src/pre_commit_vauxoo/cfg/.pylintrc.jinja +172 -0
  15. pre_commit_vauxoo-8.3.2/src/pre_commit_vauxoo/cfg/{% if use_ruff %}.ruff-optional.toml{% endif %}.jinja +89 -0
  16. pre_commit_vauxoo-8.3.2/src/pre_commit_vauxoo/cfg/{% if use_ruff %}.ruff.toml{% endif %}.jinja +195 -0
  17. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/src/pre_commit_vauxoo/cli.py +3 -2
  18. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/src/pre_commit_vauxoo/pre_commit_vauxoo.py +1 -1
  19. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/src/pre_commit_vauxoo.egg-info/PKG-INFO +15 -4
  20. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/src/pre_commit_vauxoo.egg-info/SOURCES.txt +6 -2
  21. pre_commit_vauxoo-8.3.2/tests/data_ruff/ruff_mandatory_use_cases.txt +105 -0
  22. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/tests/test_pre_commit_vauxoo.py +96 -0
  23. pre_commit_vauxoo-8.3.1/src/pre_commit_vauxoo/__init__.py +0 -1
  24. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/.appveyor.yml +0 -0
  25. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/.cookiecutterrc +0 -0
  26. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/.coveragerc +0 -0
  27. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/.github/workflows/github-actions.yml +0 -0
  28. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/.readthedocs.yml +0 -0
  29. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/.travis.yml +0 -0
  30. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/AUTHORS.rst +0 -0
  31. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/CONTRIBUTING.rst +0 -0
  32. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/LICENSE +0 -0
  33. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/MANIFEST.in +0 -0
  34. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/ci/bootstrap.py +0 -0
  35. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/ci/requirements.txt +0 -0
  36. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/ci/templates/.appveyor.yml +0 -0
  37. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/ci/templates/.github/workflows/github-actions.yml +0 -0
  38. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/ci/templates/.travis.yml +0 -0
  39. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/ci/templates/tox.ini +0 -0
  40. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/docs/authors.rst +0 -0
  41. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/docs/changelog.rst +0 -0
  42. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/docs/contributing.rst +0 -0
  43. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/docs/index.rst +0 -0
  44. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/docs/readme.rst +0 -0
  45. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/docs/requirements.txt +0 -0
  46. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/docs/spelling_wordlist.txt +0 -0
  47. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/pytest.ini +0 -0
  48. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/requirements.txt +0 -0
  49. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/resources/module_autofix1/README.rst +0 -0
  50. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/resources/module_autofix1/__init__.py +0 -0
  51. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/resources/module_autofix1/__manifest__.py +0 -0
  52. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/resources/module_autofix1/demo/demo.xml +0 -0
  53. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/resources/module_autofix1/models/__init__.py +0 -0
  54. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/resources/module_autofix1/models/models.py +0 -0
  55. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/resources/module_autofix1/security/ir.model.access.csv +0 -0
  56. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/resources/module_autofix1/views/views.xml +0 -0
  57. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/resources/module_example1/README.rst +0 -0
  58. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/resources/module_example1/__init__.py +0 -0
  59. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/resources/module_example1/__manifest__.py +0 -0
  60. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/resources/module_example1/deactivate.jinja +0 -0
  61. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/resources/module_example1/demo/demo.xml +0 -0
  62. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/resources/module_example1/models/__init__.py +0 -0
  63. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/resources/module_example1/models/markupsafe_sanitized.py +0 -0
  64. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/resources/module_example1/models/models.py +0 -0
  65. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/resources/module_example1/security/ir.model.access.csv +0 -0
  66. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/resources/module_example1/static/src/js/example.js +0 -0
  67. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/resources/module_example1/views/views.xml +0 -0
  68. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/resources/module_uninstallable/__init__.py +0 -0
  69. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/resources/module_uninstallable/__manifest__.py +0 -0
  70. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/resources/module_uninstallable/models/__init__.py +0 -0
  71. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/resources/module_uninstallable/models/non_install.py +0 -0
  72. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/resources/module_warnings1/README.rst +0 -0
  73. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/resources/module_warnings1/__init__.py +0 -0
  74. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/resources/module_warnings1/__manifest__.py +0 -0
  75. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/resources/module_warnings1/demo/demo.xml +0 -0
  76. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/resources/module_warnings1/models/__init__.py +0 -0
  77. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/resources/module_warnings1/models/models.py +0 -0
  78. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/resources/module_warnings1/security/ir.model.access.csv +0 -0
  79. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/resources/module_warnings1/views/views.xml +0 -0
  80. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/setup.cfg +0 -0
  81. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/src/pre_commit_vauxoo/__main__.py +0 -0
  82. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/src/pre_commit_vauxoo/cfg/.bandit-experimental.yml +0 -0
  83. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/src/pre_commit_vauxoo/cfg/.bandit-optional.yml +0 -0
  84. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/src/pre_commit_vauxoo/cfg/.editorconfig +0 -0
  85. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/src/pre_commit_vauxoo/cfg/.eslintrc.config.mjs +0 -0
  86. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/src/pre_commit_vauxoo/cfg/.isort.cfg +0 -0
  87. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/src/pre_commit_vauxoo/cfg/.markdownlint-autofix.yaml.jinja +0 -0
  88. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/src/pre_commit_vauxoo/cfg/.oca_hooks-autofix.cfg.jinja +0 -0
  89. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/src/pre_commit_vauxoo/cfg/.oca_hooks.cfg.jinja +0 -0
  90. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/src/pre_commit_vauxoo/cfg/.prettierrc.config.cjs.jinja +0 -0
  91. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/src/pre_commit_vauxoo/cfg/.pylintrc-experimental.jinja +0 -0
  92. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/src/pre_commit_vauxoo/cfg/doc8.ini +0 -0
  93. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/src/pre_commit_vauxoo/cfg/pyproject.toml.jinja +0 -0
  94. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/src/pre_commit_vauxoo/cfg/{% if not use_ruff %}.pre-commit-config-autofix.yaml{% endif %}.jinja +0 -0
  95. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/src/pre_commit_vauxoo/cfg/{% if use_ruff %}.pre-commit-config-autofix.yaml{% endif %}.jinja +0 -0
  96. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/src/pre_commit_vauxoo/cfg/{% if use_ruff %}.ruff-autofix.toml{% endif %}.jinja +0 -0
  97. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/src/pre_commit_vauxoo/git_hook_pre_commit +0 -0
  98. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/src/pre_commit_vauxoo/hooks/__init__.py +0 -0
  99. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/src/pre_commit_vauxoo/hooks/check_commit_msg.py +0 -0
  100. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/src/pre_commit_vauxoo/hooks/check_deactivate_jinja.py +0 -0
  101. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/src/pre_commit_vauxoo/logging_colored.py +0 -0
  102. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/src/pre_commit_vauxoo.egg-info/dependency_links.txt +0 -0
  103. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/src/pre_commit_vauxoo.egg-info/entry_points.txt +0 -0
  104. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/src/pre_commit_vauxoo.egg-info/not-zip-safe +0 -0
  105. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/src/pre_commit_vauxoo.egg-info/requires.txt +0 -0
  106. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/src/pre_commit_vauxoo.egg-info/top_level.txt +0 -0
  107. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/tests/diffs/module_autofix1_expected_10.diff +0 -0
  108. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/tests/diffs/module_autofix1_expected_20.diff +0 -0
  109. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/tests/diffs/module_autofix1_expected_30.diff +0 -0
  110. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/tox.ini +0 -0
  111. {pre_commit_vauxoo-8.3.1 → pre_commit_vauxoo-8.3.2}/variables.sh +0 -0
@@ -1,5 +1,5 @@
1
1
  [bumpversion]
2
- current_version = 8.3.1
2
+ current_version = 8.3.2
3
3
  commit = True
4
4
  tag = True
5
5
  sign_tags = True
@@ -1,6 +1,13 @@
1
1
  CHANGES
2
2
  =======
3
3
 
4
+ v8.3.2
5
+ ------
6
+
7
+ * Bump version: 8.3.1 → 8.3.2
8
+ * [IMP] cfg: Migrate to ruff the flake8/pylint checks already implemented in it (#250)
9
+ * [IMP] cfg: Enable pylint --jobs=3 using pylint-odoo v10.0.9 (#251)
10
+
4
11
  v8.3.1
5
12
  ------
6
13
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pre-commit-vauxoo
3
- Version: 8.3.1
3
+ Version: 8.3.2
4
4
  Summary: pre-commit script to run automatically the configuration and variables custom from Vauxoo
5
5
  Home-page: https://github.com/Vauxoo/pre-commit-vauxoo
6
6
  Author: Vauxoo
@@ -215,9 +215,13 @@ Full --help command result:
215
215
  README.rst, change py _('translation')
216
216
  to self.env._('translation'), rm manifest
217
217
  superfluous keys, rm field-string-redundant)
218
- 🟢 3. ESLint 🟢 4. Black / Autoflake 🟢 5. pre-
219
- commit framework 🟢 6. Pylint/pylint-odoo 🟢
220
- 7. flake8
218
+ 🟢 3. ESLint 🟢 4. Black / Autoflake (30 →
219
+ Use ruff instead. It also migrates to ruff
220
+ the mandatory and optional pylint/flake8
221
+ checks already implemented in ruff,
222
+ disabling them from the original tool) 🟢 5.
223
+ pre-commit framework 🟢 6. Pylint/pylint-
224
+ odoo 🟢 7. flake8
221
225
 
222
226
  ⚠️ Higher values or empty valuesmay
223
227
  introduce formatting changes, stricter
@@ -295,6 +299,13 @@ Note, to combine the coverage data from all the tox environments run:
295
299
  CHANGES
296
300
  =======
297
301
 
302
+ v8.3.2
303
+ ------
304
+
305
+ * Bump version: 8.3.1 → 8.3.2
306
+ * [IMP] cfg: Migrate to ruff the flake8/pylint checks already implemented in it (#250)
307
+ * [IMP] cfg: Enable pylint --jobs=3 using pylint-odoo v10.0.9 (#251)
308
+
298
309
  v8.3.1
299
310
  ------
300
311
 
@@ -50,9 +50,9 @@ Overview
50
50
  :alt: Supported versions
51
51
  :target: https://pypi.org/project/pre-commit-vauxoo
52
52
 
53
- .. |commits-since| image:: https://img.shields.io/github/commits-since/Vauxoo/pre-commit-vauxoo/v8.3.1.svg
53
+ .. |commits-since| image:: https://img.shields.io/github/commits-since/Vauxoo/pre-commit-vauxoo/v8.3.2.svg
54
54
  :alt: Commits since latest release
55
- :target: https://github.com/Vauxoo/pre-commit-vauxoo/compare/v8.3.1...main
55
+ :target: https://github.com/Vauxoo/pre-commit-vauxoo/compare/v8.3.2...main
56
56
 
57
57
 
58
58
 
@@ -216,9 +216,13 @@ Full --help command result:
216
216
  README.rst, change py _('translation')
217
217
  to self.env._('translation'), rm manifest
218
218
  superfluous keys, rm field-string-redundant)
219
- 🟢 3. ESLint 🟢 4. Black / Autoflake 🟢 5. pre-
220
- commit framework 🟢 6. Pylint/pylint-odoo 🟢
221
- 7. flake8
219
+ 🟢 3. ESLint 🟢 4. Black / Autoflake (30 →
220
+ Use ruff instead. It also migrates to ruff
221
+ the mandatory and optional pylint/flake8
222
+ checks already implemented in ruff,
223
+ disabling them from the original tool) 🟢 5.
224
+ pre-commit framework 🟢 6. Pylint/pylint-
225
+ odoo 🟢 7. flake8
222
226
 
223
227
  ⚠️ Higher values or empty valuesmay
224
228
  introduce formatting changes, stricter
@@ -18,7 +18,7 @@ project = "pre-commit-vauxoo"
18
18
  year = "2022"
19
19
  author = "Vauxoo"
20
20
  copyright = f"{year}, {author}"
21
- version = release = "8.3.1"
21
+ version = release = "8.3.2"
22
22
 
23
23
  pygments_style = "trac"
24
24
  templates_path = ["."]
@@ -0,0 +1,108 @@
1
+ """Use cases of the optional checks migrated from pylint/flake8+bugbear to ruff.
2
+
3
+ Each case must be reported:
4
+ - before the ruff migration: by "pylint optional checks" or "flake8 + bugbear optional checks"
5
+ - after the ruff migration: by "ruff optional checks" (see .config/.ruff-optional.toml)
6
+
7
+ It is stored under "tests/data/" since that path is excluded from the autofixes
8
+ so the use cases are not autofixed before being reported by the linters.
9
+ The cases must not be reported by any mandatory check.
10
+ """
11
+
12
+ import datetime
13
+
14
+ # implicit-str-concat (pylint) -> single-line-implicit-string-concatenation (ruff ISC001)
15
+ IMPLICIT_CONCAT = "implicit" "concatenation"
16
+
17
+ # redundant-u-string-prefix (pylint) -> unicode-kind-prefix (ruff UP025)
18
+ UNICODE_PREFIX = u"unicode prefix"
19
+
20
+ # E242 tab after ',' (flake8) -> tab-after-comma (ruff E242)
21
+ TAB_AFTER_COMMA = ("first", "second")
22
+
23
+
24
+ def bad_docstring_quotes_use_case(value):
25
+ 'bad-docstring-quotes (pylint) -> triple-single-quotes (ruff D300)'
26
+ return value
27
+
28
+
29
+ def dict_literal_use_case():
30
+ # use-dict-literal (pylint) -> unnecessary-collection-call (ruff C408)
31
+ return dict(one=1)
32
+
33
+
34
+ def print_use_case(value):
35
+ # print-used (pylint) -> print (ruff T201)
36
+ print(value)
37
+
38
+
39
+ def except_pass_use_case(value):
40
+ # except-pass (pylint) -> try-except-pass (ruff S110)
41
+ try:
42
+ value = int(value)
43
+ except ValueError:
44
+ pass
45
+ return value
46
+
47
+
48
+ def compare_empty_string_use_case(name):
49
+ # use-implicit-booleaness-not-comparison-to-string (pylint) -> compare-to-empty-string (ruff PLC1901)
50
+ if name == "":
51
+ return "empty"
52
+ return name
53
+
54
+
55
+ def ambiguous_variable_use_case(items):
56
+ # E741 ambiguous variable name (flake8) -> ambiguous-variable-name (ruff E741)
57
+ total = 0
58
+ for l in items: # pylint: disable=invalid-name
59
+ total += l
60
+ return total
61
+
62
+
63
+ def function_call_default_use_case(when=datetime.datetime.now()):
64
+ # B008 (flake8-bugbear) -> function-call-in-default-argument (ruff B008)
65
+ return when
66
+
67
+
68
+ def assert_false_use_case():
69
+ # B011 (flake8-bugbear) -> assert-false (ruff B011)
70
+ assert False, "assert False use case"
71
+
72
+
73
+ def too_complex_use_case(number):
74
+ # too-complex (pylint mccabe max-complexity=15) -> complex-structure (ruff C901)
75
+ total = 0
76
+ if number % 2:
77
+ total += 2
78
+ if number % 3:
79
+ total += 3
80
+ if number % 5:
81
+ total += 5
82
+ if number % 7:
83
+ total += 7
84
+ if number % 11:
85
+ total += 11
86
+ if number % 13:
87
+ total += 13
88
+ if number % 17:
89
+ total += 17
90
+ if number % 19:
91
+ total += 19
92
+ if number % 23:
93
+ total += 23
94
+ if number % 29:
95
+ total += 29
96
+ if number % 31:
97
+ total += 31
98
+ if number % 37:
99
+ total += 37
100
+ if number % 41:
101
+ total += 41
102
+ if number % 43:
103
+ total += 43
104
+ if number % 47:
105
+ total += 47
106
+ if number % 53:
107
+ total += 53
108
+ return total
@@ -37,7 +37,7 @@ def read(*names, **kwargs):
37
37
 
38
38
  setup(
39
39
  name="pre-commit-vauxoo",
40
- version="8.3.1",
40
+ version="8.3.2",
41
41
  license="LGPL-3.0-or-later",
42
42
  description="pre-commit script to run automatically the configuration and variables custom from Vauxoo",
43
43
  long_description_content_type="text/x-rst",
@@ -0,0 +1 @@
1
+ __version__ = "8.3.2"
@@ -1,6 +1,20 @@
1
1
  [flake8]
2
2
  max-line-length = 119
3
3
  jobs = 0
4
+ {% if use_ruff -%}
5
+ # The E,W,F and most of the bugbear (B) checks were migrated to ruff
6
+ # (.config/.ruff.toml for the mandatory ones and .config/.ruff-optional.toml for the optional ones)
7
+ # Only the bugbear checks without a ruff implementation keep running here: B906, B908,
8
+ # B950 (line length with +10% tolerance) and any future bugbear check
9
+ # B = bugbear
10
+ # B9 = bugbear opinionated (incl line length +10% tolerance)
11
+ select = B,B9
12
+ # - B001 is covered by ruff E722 and B902 by ruff N804/N805 (both mandatory .config/.ruff.toml)
13
+ # - B912: map(strict=True) only works in python >= 3.14 (same reason as B905)
14
+ # - B023,B024,B036,B904,B905,B907 were already ignored before the ruff migration (see comments below)
15
+ # - The remaining B0xx/B9xx checks are implemented in ruff (.config/.ruff-optional.toml)
16
+ ignore = B001,B002,B003,B004,B005,B006,B007,B008,B009,B010,B011,B012,B013,B014,B015,B016,B017,B018,B019,B020,B021,B022,B023,B024,B025,B026,B027,B028,B029,B030,B031,B032,B033,B034,B035,B036,B039,B901,B902,B903,B904,B905,B907,B909,B911,B912
17
+ {%- else -%}
4
18
  # B = bugbear
5
19
  # B9 = bugbear opinionated (incl line length +10% tolerance)
6
20
  select = C,E,F,W,B,B9
@@ -23,3 +37,4 @@ ignore = B024,B036,E203,E501,W503,W504,E241,B023,E226,B904,B905,B907,E123,E275
23
37
  per-file-ignores =
24
38
  __init__.py:F401
25
39
  __manifest__.py:B018
40
+ {%- endif %}
@@ -1,4 +1,12 @@
1
1
  [flake8]
2
+ {% if use_ruff -%}
3
+ # The pyflakes (F) and most of the pycodestyle (E,W) checks were migrated to ruff (.config/.ruff.toml)
4
+ # Only the continuation-line indentation rules (E12x/E13x) and E704 keep running here
5
+ # since ruff does not implement them https://github.com/astral-sh/ruff/issues/2402
6
+ select = E12,E13,E704
7
+ # E123,E133 keep being ignored (same as before the ruff migration)
8
+ ignore = E123,E133
9
+ {%- else -%}
2
10
  # B024: Odoo is not common to use ABC Classes not big deal to ignore it.
3
11
  # B036: Don't except `BaseException` unless you plan to re-raise it. (covered by pylint)
4
12
  # E123,E133,E226,E241,E242 are ignored by default by pep8 and flake8
@@ -10,7 +18,8 @@
10
18
  # E741 do not use variables named ‘l’, ‘O’, or ‘I’
11
19
  # chunk = records[index : index + chunk_size]
12
20
  ignore = B024,B036,E123,E133,E203,E226,E241,E242,E501,E741,F811,F601,W503,W504
13
- max-line-length = 119
14
21
  per-file-ignores=
15
22
  __init__.py:F401
23
+ {%- endif %}
24
+ max-line-length = 119
16
25
  jobs = 0
@@ -29,7 +29,7 @@ default_language_version:
29
29
  repos:
30
30
  - repo: https://github.com/OCA/pylint-odoo
31
31
  {%- if pylint_matrix_value >= 20 %}
32
- rev: v10.0.8
32
+ rev: v10.0.9
33
33
  {%- else %}
34
34
  rev: v9.3.24
35
35
  {%- endif %}
@@ -39,8 +39,9 @@ repos:
39
39
  args:
40
40
  - --rcfile=.config/.pylintrc-optional
41
41
  - --disable={{ pylint_disable_checks | join(",") if pylint_disable_checks else "R0000" }}
42
- # uncomment after fix https://github.com/OCA/pylint-odoo/pull/512
43
- # - --jobs=0 # 0 will auto-detect the number of processors available to use
42
+ {%- if pylint_matrix_value >= 20 %}
43
+ - --jobs=3
44
+ {%- endif %}
44
45
  - repo: https://github.com/OCA/odoo-pre-commit-hooks
45
46
  {%- if oca_hooks_matrix_value >= 20 %}
46
47
  rev: v0.2.24
@@ -66,6 +67,15 @@ repos:
66
67
  language: python
67
68
  pass_filenames: false
68
69
  always_run: true
70
+ {%- if use_ruff %}
71
+ - repo: https://github.com/astral-sh/ruff-pre-commit
72
+ rev: v0.16.0
73
+ hooks:
74
+ - id: ruff-check
75
+ name: ruff optional checks
76
+ args:
77
+ - --config=.config/.ruff-optional.toml
78
+ {%- endif %}
69
79
  - repo: https://github.com/PyCQA/flake8
70
80
  {%- if flake8_matrix_value >= 20 %}
71
81
  rev: 7.3.0
@@ -113,7 +123,7 @@ repos:
113
123
  require_serial: true
114
124
  - repo: https://github.com/OCA/pylint-odoo
115
125
  {%- if pylint_matrix_value >= 20 %}
116
- rev: v10.0.8
126
+ rev: v10.0.9
117
127
  {%- else %}
118
128
  rev: v9.3.24
119
129
  {%- endif %}
@@ -124,3 +134,6 @@ repos:
124
134
  args:
125
135
  - --rcfile=.config/.pylintrc-experimental
126
136
  - --exit-zero
137
+ {%- if pylint_matrix_value >= 20 %}
138
+ - --jobs=3
139
+ {%- endif %}
@@ -27,6 +27,15 @@ default_language_version:
27
27
  python: python3
28
28
  node: "24.13.0"
29
29
  repos:
30
+ {%- if use_ruff %}
31
+ - repo: https://github.com/astral-sh/ruff-pre-commit
32
+ rev: v0.16.0
33
+ hooks:
34
+ - id: ruff-check
35
+ name: ruff mandatory checks
36
+ args:
37
+ - --config=.config/.ruff.toml
38
+ {%- endif %}
30
39
  - repo: https://github.com/PyCQA/flake8
31
40
  {%- if flake8_matrix_value >= 20 %}
32
41
  rev: 7.3.0
@@ -40,7 +49,7 @@ repos:
40
49
  - --config=.config/.flake8
41
50
  - repo: https://github.com/OCA/pylint-odoo
42
51
  {%- if pylint_matrix_value >= 20 %}
43
- rev: v10.0.8
52
+ rev: v10.0.9
44
53
  {%- else %}
45
54
  rev: v9.3.24
46
55
  {%- endif %}
@@ -50,8 +59,9 @@ repos:
50
59
  args:
51
60
  - --rcfile=.config/.pylintrc
52
61
  - --disable={{ pylint_disable_checks | join(",") if pylint_disable_checks else "R0000" }}
53
- # uncomment after fix https://github.com/OCA/pylint-odoo/pull/512
54
- # - --jobs=0 # 0 will auto-detect the number of processors available to use
62
+ {%- if pylint_matrix_value >= 20 %}
63
+ - --jobs=3
64
+ {%- endif %}
55
65
  - repo: https://github.com/pre-commit/mirrors-eslint
56
66
  rev: v9.39.1
57
67
  hooks:
@@ -29,18 +29,12 @@ disable=all,unknown-option-value
29
29
  enable=attribute-deprecated,
30
30
  attribute-string-redundant,
31
31
  bad-builtin-groupby,
32
- bad-docstring-quotes,
33
32
  consider-merging-classes-inherited,
34
- consider-using-generator,
35
33
  context-overridden,
36
34
  deprecated-method,
37
35
  deprecated-odoo-model-method,
38
36
  deprecated-pragma,
39
- docstring-first-line-empty,
40
- eval-used,
41
- except-pass,
42
37
  external-request-timeout,
43
- implicit-str-concat,
44
38
  invalid-commit,
45
39
  license-allowed,
46
40
  manifest-author-string,
@@ -58,12 +52,9 @@ enable=attribute-deprecated,
58
52
  missing-return,
59
53
  odoo-addons-relative-import,
60
54
  odoo-exception-warning,
61
- print-used,
62
- redundant-u-string-prefix,
63
55
  renamed-field-parameter,
64
56
  resource-not-exist,
65
57
  sql-injection,
66
- too-complex,
67
58
  translation-contains-variable,
68
59
  translation-field,
69
60
  translation-required,
@@ -74,13 +65,26 @@ enable=attribute-deprecated,
74
65
  translation-too-few-args,
75
66
  translation-too-many-args,
76
67
  translation-unsupported-format,
77
- use-dict-literal,
78
- use-implicit-booleaness-not-comparison-to-string,
79
68
  use-implicit-booleaness-not-comparison-to-zero,
80
69
  use-symbolic-message-instead,
81
70
  use-vim-comment,
82
71
  useless-parent-delegation,
83
72
  website-manifest-key-not-valid-uri
73
+ {%- if not use_ruff %},
74
+ # The following checks are migrated to ruff when it is enabled
75
+ # (see .config/.ruff.toml for eval-used and .config/.ruff-optional.toml for the rest)
76
+ bad-docstring-quotes, # ruff D300
77
+ consider-using-generator, # ruff C419 with preview (mandatory .ruff.toml)
78
+ docstring-first-line-empty, # ruff D212
79
+ eval-used, # ruff S307
80
+ except-pass, # ruff S110
81
+ implicit-str-concat, # ruff ISC001
82
+ print-used, # ruff T201
83
+ redundant-u-string-prefix, # ruff UP025
84
+ too-complex, # ruff C901
85
+ use-dict-literal, # ruff C408
86
+ use-implicit-booleaness-not-comparison-to-string # ruff PLC1901
87
+ {%- endif %}
84
88
 
85
89
  [REPORTS]
86
90
  msg-template={path}:{line}:{column}: ({symbol}) {msg}
@@ -138,6 +138,178 @@ disable=abstract-method,
138
138
  translation-unsupported-format,
139
139
  use-vim-comment,
140
140
  website-manifest-key-not-valid-uri
141
+ {%- if use_ruff %},
142
+ # Checks migrated to ruff (see .config/.ruff.toml)
143
+ # They are disabled here to avoid duplicated reports since ruff runs them as mandatory checks
144
+ anomalous-backslash-in-string, # ruff W605
145
+ assert-on-string-literal, # ruff PLW0129
146
+ assert-on-tuple, # ruff F631
147
+ assigning-non-slot, # ruff PLE0237
148
+ await-outside-async, # ruff PLE1142
149
+ bad-classmethod-argument, # ruff N804
150
+ bad-format-character, # ruff PLE1300
151
+ bad-format-string, # ruff F521
152
+ bad-indentation, # ruff E111
153
+ bad-open-mode, # ruff PLW1501
154
+ bad-staticmethod-argument, # ruff PLW0211
155
+ bad-str-strip-call, # ruff PLE1310
156
+ bad-string-format-type, # ruff PLE1307
157
+ bare-except, # ruff E722
158
+ bidirectional-unicode, # ruff PLE2502
159
+ binary-op-exception, # ruff PLW0711
160
+ chained-comparison, # ruff PLR1716
161
+ comparison-of-constants, # ruff PLR0133
162
+ comparison-with-itself, # ruff PLR0124
163
+ condition-evals-to-constant, # ruff SIM220,SIM221,SIM222,SIM223
164
+ consider-iterating-dictionary, # ruff SIM118
165
+ consider-merging-isinstance, # ruff SIM101
166
+ consider-swap-variables, # ruff PLR1712
167
+ consider-using-dict-comprehension, # ruff C402,C404
168
+ consider-using-from-import, # ruff PLR0402
169
+ consider-using-get, # ruff SIM401
170
+ consider-using-in, # ruff PLR1714
171
+ consider-using-max-builtin, # ruff PLR1730
172
+ consider-using-min-builtin, # ruff PLR1730
173
+ consider-using-set-comprehension, # ruff C401,C403
174
+ consider-using-sys-exit, # ruff PLR1722
175
+ continue-in-finally, # ruff PLE0116
176
+ dangerous-default-value, # ruff B006
177
+ dict-iter-missing-items, # ruff PLE1141
178
+ duplicate-argument-name, # always-on ruff syntax error
179
+ duplicate-bases, # ruff PLE0241
180
+ duplicate-except, # ruff B025
181
+ duplicate-key, # ruff F601,F602
182
+ duplicate-value, # ruff B033
183
+ empty-docstring, # ruff D419
184
+ eval-used, # ruff S307
185
+ exec-used, # ruff S102
186
+ f-string-without-interpolation, # ruff F541
187
+ forgotten-debug-statement, # ruff T100
188
+ format-combined-specification, # ruff F525
189
+ format-needs-mapping, # ruff F502
190
+ global-at-module-level, # ruff PLW0604
191
+ global-statement, # ruff PLW0603
192
+ global-variable-not-assigned, # ruff PLW0602
193
+ import-outside-toplevel, # ruff PLC0415
194
+ init-is-generator, # ruff PLE0100
195
+ invalid-all-format, # ruff PLE0605
196
+ invalid-all-object, # ruff PLE0604
197
+ invalid-bool-returned, # ruff PLE0304
198
+ invalid-bytes-returned, # ruff PLE0308
199
+ invalid-character-backspace, # ruff PLE2510
200
+ invalid-character-esc, # ruff PLE2513
201
+ invalid-character-nul, # ruff PLE2514
202
+ invalid-character-sub, # ruff PLE2512
203
+ invalid-character-zero-width-space, # ruff PLE2515
204
+ invalid-envvar-default, # ruff PLW1508
205
+ invalid-envvar-value, # ruff PLE1507
206
+ invalid-hash-returned, # ruff PLE0309
207
+ invalid-index-returned, # ruff PLE0305
208
+ invalid-length-returned, # ruff PLE0303
209
+ invalid-str-returned, # ruff PLE0307
210
+ literal-comparison, # ruff F632
211
+ logging-format-interpolation, # ruff G001
212
+ logging-fstring-interpolation, # ruff G004
213
+ logging-not-lazy, # ruff G002,G003
214
+ logging-too-few-args, # ruff PLE1206
215
+ logging-too-many-args, # ruff PLE1205
216
+ lost-exception, # ruff B012
217
+ method-cache-max-size-none, # ruff B019
218
+ misplaced-bare-raise, # ruff PLE0704
219
+ misplaced-future, # ruff F404
220
+ missing-final-newline, # ruff W292
221
+ missing-format-argument-key, # ruff F524
222
+ missing-format-string-key, # ruff F505
223
+ mixed-format-string, # ruff F506
224
+ modified-iterating-set, # ruff PLE4703
225
+ multiple-imports, # ruff E401
226
+ multiple-statements, # ruff E701,E702 (and flake8 E704)
227
+ named-expr-without-context, # ruff PLW0131
228
+ nan-comparison, # ruff PLW0177
229
+ nested-min-max, # ruff PLW3301
230
+ no-classmethod-decorator, # ruff PLR0202
231
+ no-else-break, # ruff RET508
232
+ no-else-continue, # ruff RET507
233
+ no-else-raise, # ruff RET506
234
+ no-else-return, # ruff RET505
235
+ no-self-argument, # ruff N805
236
+ no-staticmethod-decorator, # ruff PLR0203
237
+ non-ascii-module-import, # ruff PLC2403
238
+ non-ascii-name, # ruff PLC2401
239
+ nonexistent-operator, # ruff B002
240
+ nonlocal-and-global, # ruff PLE0115
241
+ nonlocal-without-binding, # ruff PLE0117
242
+ not-in-loop, # ruff F701,F702
243
+ notimplemented-raised, # ruff F901
244
+ pointless-exception-statement, # ruff PLW0133
245
+ potential-index-error, # ruff PLE0643
246
+ property-with-parameters, # ruff PLR0206
247
+ redeclared-assigned-name, # ruff PLW0128
248
+ redefined-argument-from-local, # ruff PLR1704
249
+ redefined-builtin, # ruff A001,A002,A004
250
+ repeated-keyword, # ruff PLE1132
251
+ return-in-init, # ruff PLE0101
252
+ return-outside-function, # ruff F706
253
+ self-assigning-variable, # ruff PLW0127
254
+ shallow-copy-environ, # ruff PLW1507
255
+ simplifiable-if-expression, # ruff SIM210,SIM211
256
+ simplifiable-if-statement, # ruff SIM103
257
+ single-string-used-for-slots, # ruff PLC0205
258
+ singledispatch-method, # ruff PLE1519
259
+ singledispatchmethod-function, # ruff PLE1520
260
+ singleton-comparison, # ruff E711,E712
261
+ stop-iteration-return, # ruff PLR1708
262
+ subprocess-popen-preexec-fn, # ruff PLW1509
263
+ subprocess-run-check, # ruff PLW1510
264
+ super-with-arguments, # ruff UP008
265
+ super-without-brackets, # ruff PLW0245
266
+ too-few-format-args, # ruff F507
267
+ too-many-arguments, # ruff PLR0913
268
+ too-many-format-args, # ruff F507,F523
269
+ too-many-locals, # ruff PLR0914
270
+ too-many-nested-blocks, # ruff PLR1702
271
+ too-many-public-methods, # ruff PLR0904
272
+ too-many-return-statements, # ruff PLR0911
273
+ too-many-star-expressions, # ruff F622
274
+ trailing-newlines, # ruff W391
275
+ trailing-whitespace, # ruff W291
276
+ truncated-format-string, # ruff F501
277
+ typevar-double-variance, # ruff PLC0131
278
+ typevar-name-incorrect-variance, # ruff PLC0105
279
+ typevar-name-mismatch, # ruff PLC0132
280
+ undefined-all-variable, # ruff F822
281
+ undefined-variable, # ruff F821
282
+ unexpected-special-method-signature, # ruff PLE0302
283
+ unidiomatic-typecheck, # ruff E721
284
+ unnecessary-comprehension, # ruff C416
285
+ unnecessary-dict-index-lookup, # ruff PLR1733
286
+ unnecessary-direct-lambda-call, # ruff PLC3002
287
+ unnecessary-dunder-call, # ruff PLC2801
288
+ unnecessary-lambda, # ruff PLW0108
289
+ unnecessary-lambda-assignment, # ruff E731
290
+ unnecessary-list-index-lookup, # ruff PLR1736
291
+ unnecessary-negation, # ruff SIM208
292
+ unnecessary-pass, # ruff PIE790
293
+ unnecessary-semicolon, # ruff E702,E703
294
+ unused-format-string-argument, # ruff F522
295
+ unused-format-string-key, # ruff F504
296
+ unused-import, # ruff F401
297
+ unused-variable, # ruff F841
298
+ use-a-generator, # ruff C419
299
+ use-implicit-booleaness-not-len, # ruff PLC1802
300
+ use-list-literal, # ruff C408 (moved to the optional level with use-dict-literal)
301
+ use-maxsplit-arg, # ruff PLC0207
302
+ use-sequence-for-iteration, # ruff PLC0208
303
+ used-prior-global-declaration, # ruff PLE0118
304
+ useless-else-on-loop, # ruff PLW0120
305
+ useless-import-alias, # ruff PLC0414
306
+ useless-object-inheritance, # ruff UP004
307
+ useless-return, # ruff PLR1711
308
+ useless-with-lock, # ruff PLW2101
309
+ wildcard-import, # ruff F403
310
+ yield-inside-async-function, # ruff PLE1700
311
+ yield-outside-function # ruff F704
312
+ {%- endif %}
141
313
 
142
314
  # odoolint disabled because this checks is available just in changed modules in PR conf.
143
315
  # import-error Because odoo use incompatible sys-modules https://bitbucket.org/logilab/pylint/issues/616/modules-renamed-with-sysmodules-are-unable