From 8811733e7e9e0ed4cbb38efc9f7792054cee02b9 Mon Sep 17 00:00:00 2001 From: hparfr Date: Thu, 21 Dec 2023 10:30:31 +0100 Subject: [PATCH] copier: update to v1.20 use ruff convert_readme_fragments_to_markdown --- .copier-answers.yml | 11 ++++---- .flake8 | 12 --------- .github/workflows/pre-commit.yml | 2 ++ .github/workflows/pre-commit.yml.rej | 11 -------- .gitignore | 1 + .isort.cfg | 13 --------- .oca_hooks.cfg | 2 ++ .pre-commit-config.yaml | 40 +++++++--------------------- .ruff.toml | 28 +++++++++++++++++++ 9 files changed, 49 insertions(+), 71 deletions(-) delete mode 100644 .flake8 delete mode 100644 .github/workflows/pre-commit.yml.rej delete mode 100644 .isort.cfg create mode 100644 .oca_hooks.cfg create mode 100644 .ruff.toml diff --git a/.copier-answers.yml b/.copier-answers.yml index 32498bab..76a4e215 100644 --- a/.copier-answers.yml +++ b/.copier-answers.yml @@ -1,8 +1,9 @@ # Do NOT update manually; changes here will be overwritten by Copier -_commit: v1.17.1 +_commit: v1.20 _src_path: https://github.com/OCA/oca-addons-repo-template +additional_ruff_rules: [] ci: GitHub -dependency_installation_mode: PIP +convert_readme_fragments_to_markdown: true generate_requirements_txt: true github_check_license: false github_ci_extra_env: {} @@ -16,10 +17,10 @@ odoo_version: 14.0 org_name: Shopinvader org_slug: shopinvader rebel_module_groups: [] -repo_description: null +repo_description: Easy, reproductible and reliable imports and exports repo_name: Pattern Import Export repo_slug: pattern-import-export repo_website: https://github.com/Shopinvader/pattern-import-export -travis_apt_packages: [] -travis_apt_sources: [] +use_pyproject_toml: false +use_ruff: true diff --git a/.flake8 b/.flake8 deleted file mode 100644 index e397e8ed..00000000 --- a/.flake8 +++ /dev/null @@ -1,12 +0,0 @@ -[flake8] -max-line-length = 88 -max-complexity = 16 -# B = bugbear -# B9 = bugbear opinionated (incl line length) -select = C,E,F,W,B,B9 -# E203: whitespace before ':' (black behaviour) -# E501: flake8 line length (covered by bugbear B950) -# W503: line break before binary operator (black behaviour) -ignore = E203,E501,W503 -per-file-ignores= - __init__.py:F401 diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml index 4654cb19..602ecbca 100644 --- a/.github/workflows/pre-commit.yml +++ b/.github/workflows/pre-commit.yml @@ -15,6 +15,8 @@ jobs: steps: - uses: actions/checkout@v3 - uses: actions/setup-python@v2 + with: + python-version: "3.11" - name: Get python version run: echo "PY=$(python -VV | sha256sum | cut -d' ' -f1)" >> $GITHUB_ENV - uses: actions/cache@v1 diff --git a/.github/workflows/pre-commit.yml.rej b/.github/workflows/pre-commit.yml.rej deleted file mode 100644 index d49e723c..00000000 --- a/.github/workflows/pre-commit.yml.rej +++ /dev/null @@ -1,11 +0,0 @@ -diff a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml (rejected hunks) -@@ -12,2 +12,9 @@ jobs: - - uses: actions/setup-python@v2 -+ with: -+ # The pylint-odoo version we use here does not support python 3.10 -+ # https://github.com/OCA/oca-addons-repo-template/issues/80 -+ # We also need to pin to an older version of python for older odoo versions -+ # where we are not using black > 21. Older black versions won't work with -+ # Python 3.9.8+, and we can't bump black without reformatting. -+ python-version: "3.9.7" - - uses: pre-commit/action@v2.0.0 diff --git a/.gitignore b/.gitignore index 9c283fd4..0090721f 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,7 @@ __pycache__/ *.py[cod] /.venv /.pytest_cache +/.ruff_cache # C extensions *.so diff --git a/.isort.cfg b/.isort.cfg deleted file mode 100644 index 0ec187ef..00000000 --- a/.isort.cfg +++ /dev/null @@ -1,13 +0,0 @@ -[settings] -; see https://github.com/psf/black -multi_line_output=3 -include_trailing_comma=True -force_grid_wrap=0 -combine_as_imports=True -use_parentheses=True -line_length=88 -known_odoo=odoo -known_odoo_addons=odoo.addons -sections=FUTURE,STDLIB,THIRDPARTY,ODOO,ODOO_ADDONS,FIRSTPARTY,LOCALFOLDER -default_section=THIRDPARTY -ensure_newline_before_comments = True diff --git a/.oca_hooks.cfg b/.oca_hooks.cfg new file mode 100644 index 00000000..1f3e3e42 --- /dev/null +++ b/.oca_hooks.cfg @@ -0,0 +1,2 @@ +[MESSAGES_CONTROL] +disable=xml-deprecated-data-node,xml-deprecated-tree-attribute diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 8eec3bdb..d5b9ce76 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -14,6 +14,8 @@ exclude: | ^docs/_templates/.*\.html$| # Don't bother non-technical authors with formatting issues in docs readme/.*\.(rst|md)$| + # Ignore build and dist directories in addons + /build/|/dist/| # You don't usually want a bot to modify your legal texts (LICENSE.*|COPYING.*) default_language_version: @@ -35,7 +37,7 @@ repos: language: fail files: '[a-zA-Z0-9_]*/i18n/en\.po$' - repo: https://github.com/oca/maintainer-tools - rev: 969238e47c07d0c40573acff81d170f63245d738 + rev: 9a170331575a265c092ee6b24b845ec508e8ef75 hooks: # update the NOT INSTALLABLE ADDONS section above - id: oca-update-pre-commit-excluded-addons @@ -48,27 +50,13 @@ repos: - --org-name=shopinvader - --repo-name=pattern-import-export - --if-source-changed + - --keep-source-digest + - --convert-fragments-to-markdown - repo: https://github.com/OCA/odoo-pre-commit-hooks rev: v0.0.25 hooks: - id: oca-checks-odoo-module - id: oca-checks-po - - repo: https://github.com/myint/autoflake - rev: v1.4 - hooks: - - id: autoflake - args: - - --expand-star-imports - - --ignore-init-module-imports - - --in-place - - --remove-all-unused-imports - - --remove-duplicate-keys - - --remove-unused-variables - - repo: https://github.com/psf/black - rev: 22.3.0 - hooks: - - id: black - args: [--line-length=88] - repo: https://github.com/pre-commit/mirrors-prettier rev: v2.1.2 hooks: @@ -114,14 +102,6 @@ repos: hooks: - id: pyupgrade args: ["--keep-percent-format"] - - repo: https://github.com/PyCQA/isort - rev: 5.12.0 - hooks: - - id: isort - name: isort except __init__.py - args: - - --settings=. - exclude: /__init__\.py$ - repo: https://github.com/acsone/setuptools-odoo rev: 3.1.8 hooks: @@ -132,12 +112,12 @@ repos: - requirements.txt - --header - "# generated from manifests external_dependencies" - - repo: https://github.com/PyCQA/flake8 - rev: 3.8.3 + - repo: https://github.com/astral-sh/ruff-pre-commit + rev: v0.1.3 hooks: - - id: flake8 - name: flake8 - additional_dependencies: ["flake8-bugbear==20.1.4"] + - id: ruff + args: [--fix, --exit-non-zero-on-fix] + - id: ruff-format - repo: https://github.com/OCA/pylint-odoo rev: 7.0.2 hooks: diff --git a/.ruff.toml b/.ruff.toml new file mode 100644 index 00000000..d75c6d97 --- /dev/null +++ b/.ruff.toml @@ -0,0 +1,28 @@ + +fix = true + +[lint] +extend-select = [ + "B", + "C90", + "E501", # line too long (default 88) + "I", # isort +] +exclude = ["setup/*"] + +[format] +exclude = ["setup/*"] + +[per-file-ignores] +"__init__.py" = ["F401", "I001"] # ignore unused and unsorted imports in __init__.py +"__manifest__.py" = ["B018"] # useless expression + +[isort] +section-order = ["future", "standard-library", "third-party", "odoo", "odoo-addons", "first-party", "local-folder"] + +[isort.sections] +"odoo" = ["odoo"] +"odoo-addons" = ["odoo.addons"] + +[mccabe] +max-complexity = 16