ssi-pylint-odoo 3.5.0.dev2

Creator: bradpython12

Last updated:

Add to Cart

Description:

ssipylintodoo 3.5.0.dev2

Pylint Odoo plugin
Enable custom checks for Odoo modules.


Code
Description
Short name



C7902
Missing ./README.rst file. Template here: %s
missing-readme

C8101
One of the following authors must be present in manifest: %s
manifest-required-author

C8102
Missing required key “%s” in manifest file
manifest-required-key

C8103
Deprecated key “%s” in manifest file
manifest-deprecated-key

C8104
Use CamelCase “%s” in class name “%s”. You can use oca-autopep8 of https://github.com/OCA/maintainer-tools to auto fix it.
class-camelcase

C8105
License “%s” not allowed in manifest file.
license-allowed

C8106
Wrong Version Format “%s” in manifest file. Regex to match: “%s”
manifest-version-format

C8107
String parameter on “%s” requires translation. Use %s_(%s)
translation-required

C8108
Name of compute method should start with “_compute_”
method-compute

C8109
Name of search method should start with “_search_”
method-search

C8110
Name of inverse method should start with “_inverse_”
method-inverse

C8111
Manifest key development_status “%s” not allowed
development-status-allowed

C8201
No UTF-8 coding comment found: Use # coding: utf-8 or # -*- coding: utf-8 -*-
no-utf8-coding-comment

C8202
UTF-8 coding is not necessary
unnecessary-utf8-coding-comment

E7901
%s %s
rst-syntax-error

E7902
%s error: %s
xml-syntax-error

E7912
%s %s
po-syntax-error

E8101
The author key in the manifest file must be a string (with comma separated values)
manifest-author-string

E8102
Use of cr.commit() directly - More info https://github.com/OCA/odoo-community.org/blob/master/website/Contribution/CONTRIBUTING.rst#never-commit-the-transaction
invalid-commit

E8103
SQL injection risk. Use parameters if you can. - More info https://github.com/OCA/odoo-community.org/blob/master/website/Contribution/CONTRIBUTING.rst#no-sql-injection
sql-injection

F8101
File “%s”: “%s” not found.
resource-not-exist

R7980
Consider merging classes inherited to “%s” from %s.
consider-merging-classes-inherited

R8101
Import Warning should be renamed as UserError from openerp.exceptions import Warning as UserError
openerp-exception-warning

R8110
Method defined with old api version 7
old-api7-method-defined

W7901
%s Dangerous filter without explicit user_id in xml_id %s
dangerous-filter-wo-user

W7902
%s Duplicate xml record id “%s” in %s
duplicate-xml-record-id

W7903
%s
javascript-lint

W7904
%s Deprecated <openerp> xml node
deprecated-openerp-xml-node

W7905
%s record res.users without context=”{‘no_reset_password’: True}”
create-user-wo-reset-password

W7906
%s Duplicate id “%s”
duplicate-id-csv

W7907
%s Duplicate xml field “%s” in lines %s
duplicate-xml-fields

W7908
%s Missing newline
missing-newline-extrafiles

W7909
%s Redundant name module reference in xml_ids “%s”.
redundant-modulename-xml

W7910
%s Use wrong tabs indentation instead of four spaces
wrong-tabs-instead-of-spaces

W7930
%s not used from manifest
file-not-used

W7935
External dependency “%s” without ImportError. More info: https://github.com/OCA/odoo-community.org/blob/master/website/Contribution/CONTRIBUTING.rst#external-dependencies
missing-import-error

W7936
Missing external dependency “%s” from manifest. More info: https://github.com/OCA/odoo-community.org/blob/master/website/Contribution/CONTRIBUTING.rst#external-dependencies
missing-manifest-dependency

W7937
%s The xml attribute is missing the translation=”off” tag %s
xml-attribute-translatable

W7938
pass into block except. If you really need to use the pass consider logging that exception
except-pass

W7939
%s Use <odoo> instead of <odoo><data> or use <odoo noupdate=”1”>instead of <odoo><data noupdate=”1”>
deprecated-data-xml-node

W7940
%s Dangerous use of “replace” from view with priority %s < %s
dangerous-view-replace-wo-priority

W7942
%s Deprecated <tree> xml attribute “%s”
xml-deprecated-tree-attribute

W7943
%s Deprecated QWeb directive “%s”. Use “t-options” instead
xml-deprecated-qweb-directive

W7944
%s The resource in in src/href contains a not valid chararter
character-not-valid-in-resource-link

W7947
%s Duplicate PO message definition “%s” in lines %s
duplicate-po-message-definition

W7950
Same Odoo module absolute import. You should use relative import with “.” instead of “openerp.addons.%s”
odoo-addons-relative-import

W7968
%s %s
po-msgstr-variables

W8101
Detected api.one and api.multi decorators together.
api-one-multi-together

W8102
Missing api.one or api.multi in copy function.
copy-wo-api-one

W8103
Translation method _(“string”) in fields is not necessary.
translation-field

W8104
api.one deprecated
api-one-deprecated

W8105
attribute “%s” deprecated
attribute-deprecated

W8106
Missing super call in “%s” method.
method-required-super

W8110
Missing return (super is used) in method %s.
missing-return

W8111
Field parameter “%s” is no longer supported. Use “%s” instead.
renamed-field-parameter

W8112
“eval” referenced detected.
eval-referenced

W8113
The attribute string is redundant. String parameter equal to name of variable
attribute-string-redundant

W8114
Website “%s” in manifest key is not a valid URI
website-manifest-key-not-valid-uri

W8115
Translatable term in “%s” contains variables. Use %s instead
translation-contains-variable

W8116
Print used. Use logger instead.
print-used

W8201
You have a python file with execution permissions but you don’t have an interpreter magic comment, or a magic comment but no execution permission. If you really needs a execution permission then add a magic comment ( https://en.wikipedia.org/wiki/Shebang_(Unix) ). If you don’t needs a execution permission then remove it with: chmod -x %s
incoherent-interpreter-exec-perm

W8202
Use of vim comment
use-vim-comment




Install
# pip install --upgrade git+https://github.com/simetri-sinergi-id/ssi-pylint-odoo.git
Or
# pip install --upgrade --pre pylint-odoo


Usage
pylint --load-plugins=ssi_pylint_odoo -e odoolint ...
Example to test just odoo-lint case:
touch {ADDONS-PATH}/__init__.py
pylint --load-plugins=ssi_pylint_odoo -d all -e odoolint {ADDONS-PATH}
If you have external files you can add them in examples folder to skip.
For rst-syntax-error skip unknown directives


Skip one check based on the Odoo version
If you need to restrict a check to specific version(s) of Odoo, use the new variable odoo_check_versions
For example, if you have one new check your-new-check and you need to run it only
if the Odoo version is between 9.0 and 11.0, inside the class you should declare the following :
...
class FormatChecker(PylintOdooTokenChecker):
...
odoo_check_versions = {
'your-new-check': {
'min_odoo_version': '9.0',
'max_odoo_version': '10.0',
}
}
...


Skip one xml check
If you need to skip one check in one xml file you can use the follow way
<?xml version="1.0" encoding="utf-8"?>
<!-- pylint:disable=name-of-check-to-skip -->
<odoo>
...
</odoo>
<?xml version="1.0" encoding="utf-8"?>
<!-- pylint:disable=name-of-check-to-skip, second-name-check-to-skip -->
<odoo>
...
</odoo>
This skip only work with the name of the check, not work with the name of check
The position of the comment it is not relative to the line that throw the check



CHANGES

3.5.0.2

manifest_required_authors change into PT. Simetri Sinergi Indonesia



3.5.0.1

Fork into ssi_pylint_odoo
[REF] CI: Enable py3.8 and py3.9 (#294)



3.5.0

[FIX] messages2rst: Compatible with more than 3 message items
[REF] no-utf8-coding-comment,unnecessary-utf8-coding-comment: Using python version to enable/disable them (#292)
[REF] po-msgstr-variables: Check if there is missing ‘module:’ comment (#291)



3.4.0

[REF] README: Auto-update Using pylint_odoo.messages2rst()
Fixing pragma: no cover position
[ADD] po-msgstr-variables: Check if string translated can be parsed correctly
[ADD] duplicate-po-message-definition, po-syntax-error: Enable PO checks



3.3.2

[REF] missing-manifest-dependency: Add openupgradelib as a whitelist. (#288)
[FIX] sql-injection: Consider valid arguments built with psycopg2.sql



3.3.1

[REF] missing-import-error: Add new packages for Odoo v13.0



3.3.0

[REF] requirements.txt: Update packages version (#285)



3.2.0

[FIX] get_manifest_file: Get manifest file correctly
[FIX] Visit module: manage odoo subdirectories Better way to check whether a path is a path of a subdirectoy of a Odoo module. Before, ‘/a/b/cc/d’ was considered as a subdirectoy of ‘/a/b/c’ because ‘/a/b/c’ in ‘/a/b/cc/d’ == True



3.1.0

[REF] README: Auto-update Using pylint_odoo.messages2rst()
[FIX] rst_lint: Using UTF-8 encoding by default (#272)
[ADD] Possibility of package name include dots
[REF] .travis.yml: Using py3.7 stable instead of dev (#271)
Improve incoherent-interpreter-exec-perm message
Fix incompatibility with isort configuration file
[FIX] rst-syntax-error: Using a 0 by default if line None is returned



3.0.3

[REF] README: Auto-update Using pylint_odoo.messages2rst()
Revert “[ADD] method-default prefix” (#254)



3.0.2

[REF] README: Auto-update Using pylint_odoo.messages2rst()
[REF] CI: Fixing flake8, tests and clean requirements
[REF] pylint_odoo: Supports odoo 13.0
[ADD] method-default prefix
[FIX] .travis.yml: Upgrade nvm version supported for eslint
Allow console statements
[ADD] print-used: Use _logger instead of print (#241)



3.0.1

[FIX] AttributeError: ‘MessagesStore’ object has no attribute ‘_messages’ related to https://github.com/PyCQA/pylint/commit/75cecdb1b88cc759223e83fd325aeafd09fec37e
[IMP] added support Pylint 2.3.0 and Astroid 2.2.0



3.0.0

[REF] README: Auto-update Using pylint_odoo.messages2rst()
[REF] sql-injection: Test private attributes (#226)
[REF] tox: Upgrade new pylint for py3 (#215)



2.0.2

[REF] manifest-required-authors: Support old deprecated parameter



2.0.1

[REF] README: Auto-update Using pylint_odoo.messages2rst()
[DEL] require-jsdoc, keep require-valid-jsdoc
[FIX]change the location of Guidelines URL
[ADD] development-status-allowed: New check to verity valid development status Fix https://github.com/OCA/pylint-odoo/issues/199
[REF] missing-import-error: Check enabled just for odoo <= 11.0
Add fuzzy to ES globals
Allow usage of `undefined` (#214)
Jslint jsdoc relax (#209)
[REF] pylint-odoo: Compatibility with python3.7 (#205)
[IMP] file-not-used: Ignore unused files into the migrations directory (#213)
[IMP] manifest-required-author: Allow multiple possible required authors
[FIX] missing-manifest-dependency: Exclude tests directory
[FIX] manifest-version-format: Don’t ignore valid Odoo versions
[FIX] requirements: Include “six” package (#207)



2.0.0

[REF] README: Auto-update Using pylint_odoo.messages2rst()
[DOC] README.rst: Adding documentation to the way to skip one check based on the Odoo Version
[REF] requirements: Bump requirements version
Add _register_hook in “no missing return” methods (#201)
[ADD] Add new lint to detect variables within translatable strings (#198)
[FIX] translation-required: Fix some false positives (#196)
[REF] .travis.yml: Allow both W503 and W504 formats (#197)

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.