odoo-pre-commit-hooks to use in pre-commit-config.yml files
Project description
odoo-pre-commit-hooks
OCA's custom pre-commit hooks for Odoo modules
Installation
You don't need to install it directly only configure your ".pre-commit-config.yaml" file
You even can install it directly:
- Installing from pypi:
- pip install -U odoo-pre-commit-hooks
- Installing from github:
- pip install --force-reinstall -U git+https://github.com/OCA/odoo-pre-commit-hooks.git@main
Usage pre-commit-config.yaml
Add to your ".pre-commit-config.yaml" configuration file the following input
- repo: https://github.com/OCA/odoo-pre-commit-hooks
rev: v0.0.7
hooks:
- id: oca-checks-odoo-module
Usage using directly the entry points
If you install directly the package use the entry point:
oca-checks-odoo-module --help
Checks
-
Check manifest-syntax-error Check if the manifest file has syntax error
-
Check missing-readme Check if a README file is missing
-
Check csv-duplicate-record-id duplicate CSV "id" AKA xmlid but for CSV files
-
Check csv-syntax-error Check syntax error for CSV files declared in the manifest
-
Check po-requires-module Translation entry requires comment '#. module: MODULE'
-
Check po-python-parse-printf Check if 'msgid' is using 'str' variables like '%s' So translation 'msgstr' must be the same number of variables too
-
Check po-python-parse-format Check if 'msgid' is using 'str' variables like '{}' So translation 'msgstr' must be the same number of variables too
-
Check po-duplicate-message-definition (message-id) in all entries of PO files
We are not using `check_for_duplicates` parameter of polib.pofile method e.g. polib.pofile(..., check_for_duplicates=True) Because the output is: raise ValueError('Entry "%s" already exists' % entry.msgid) It doesn't show the number of lines duplicated and it shows the entire string of the message_id without truncating it or replacing newlines
-
Check po-syntax-error Check syntax of PO files from i18n* folders
-
Check xml-redundant-module-name
If the module is called "module_a" and the xmlid is <record id="module_a.xmlid_name1" ... The "module_a." is redundant it could be replaced to only <record id="xmlid_name1" ...
-
Check xml-dangerous-filter-wo-user Check dangerous filter without a user assigned.
-
Check xml-create-user-wo-reset-password records of user without context="{'no_reset_password': True}" This context avoid send email and mail log warning
-
Check xml-view-dangerous-replace-low-priority in ir.ui.view
<field name="priority" eval="10"/> ... <field name="name" position="replace"/>
-
Check xml-deprecated-tree-attribute The tree-view declaration is using a deprecated attribute.
-
Check xml-dangerous-qweb-replace-low-priority Dangerous qweb view defined with low priority
-
Check xml-deprecated-data-node Deprecated node inside xml node
-
Check xml-deprecated-openerp-xml-node deprecated xml node
-
Check xml-deprecated-qweb-directive for use of deprecated QWeb directives t-*-options
-
Check xml-not-valid-char-link The resource in in src/href contains a not valid character.
-
Check xml-duplicate-record-id
If a module has duplicated record_id AKA xml_ids file1.xml <record id="xmlid_name1" file2.xml <record id="xmlid_name1"
-
Check xml-duplicate-fields in all record nodes <record id="xmlid_name1"... <field name="field_name1"... <field name="field_name1"...
-
Check xml-syntax-error Check syntax of XML files declared in the Odoo manifest
Licenses
This repository is licensed under AGPL-3.0.
However, each module can have a totally different license, as long as they adhere to Odoo Community Association (OCA)
policy. Consult each module's __manifest__.py
file, which contains a license
key
that explains its license.
OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.
CHANGES
v0.0.7
- Bump version: 0.0.6 → 0.0.7
- [REF] checks: name_checks changed to name-checks (#14)
- [REF] oca_pre_commit_hooks: Use shorter path in messages (#13)
- [FIX] pre-commit-hooks.yaml: Run checks even if the manifest was not changed
- [REF] test: Remove TODO comments already fixed
v0.0.6
- Bump version: 0.0.5 → 0.0.6
- [FIX] oca_pre_commit_hooks: Fix checks if it has syntax error (#8)
v0.0.5
- Bump version: 0.0.4 → 0.0.5
- [REF] oca_pre_commit_hooks: Small improvements (#7)
v0.0.4
- Bump version: 0.0.3 → 0.0.4
- [IMP] oca_pre_commit_hooks: Enable feature to 'enable' checks (#6)
- [IMP] oca_pre_commit_hooks: Add entrypoint arguments to disable checks (#5)
v0.0.3
- Bump version: 0.0.2 → 0.0.3
- [REF] README: Remove deprecated CI build
v0.0.2
- Bump version: 0.0.1 → 0.0.2
- [REF] CI: Re-use tox to run pre-commit in the CI with same caches and packages
- [ADD] .pre-commit-hooks.yaml: Compatible with pre-commit-hooks to use as hook id directly
v0.0.1
- [ADD] Migrate pylint-odoo checks (not related to python) to pre-commit hooks (#2)
- Initialize
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for oca-odoo-pre-commit-hooks-0.0.7.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | ff22fcd2f4f25c1ea3d35765eb639c650780aa5c9a084ac2f663004db9fe893d |
|
MD5 | a286855b108aa4457c01510f9698a1d5 |
|
BLAKE2b-256 | 55b8957e7622aac26f3ba5810dfdefa0d6ed64ce78f64a0a3bfe16181b5ff525 |
Hashes for oca_odoo_pre_commit_hooks-0.0.7-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 576f090699c3732299e05ccbf9b0142285f42f20d7ff82aa2a12d1741891b791 |
|
MD5 | 6946514313ea064ede268f6193d62ff7 |
|
BLAKE2b-256 | c94b0ea82e62763825c2ca88cda0e9a315bc45c15c7d25680605f638377c52fd |