Skip to content

Commit

Permalink
[ADD] except-pass: Emit message If a except:pass is used fix #252
Browse files Browse the repository at this point in the history
[FIX] pylint-odoo: Best use of if clause

[FIX] pylint-odoo: Validate the body contain only one line

[FIX] pylint-odoo: Avoid use \ better use (

[REF] incoherent-interpreter-exec-perm: Better message (#106)

[ADD] xml-attribute-translatable: Check XML attribute without translation parameter (#105)

Close #104

[REF] javascript-lint: Use eslint instead of jshint (#97)

[ADD] renamed-field-parameter: Detect deprecated field values (digits_compute, select) (#99)

[FIX] Pep8 check and bad index for ODOO_MSGS

[ADD] attribute-string-redundant: Check if "string" parameter is equal to variable name (#100)

[FIX] attribute-string-redundant: Add "isinstance" validation for nodes

Fix #109

[IMP] Exclude exception when use as assignation

[FIX] Pep8 check local variable 'exception'

[FIX] Pep8 blank line at end of file

[FIX] Adding more cases of test

[REF] Supporting more cases of exception

[FIX] Modify file main.py for adding new case of except-pass

[IMP] Adding another tests case

[FIX] Adding another test case and better validation

[FIX] Delete unnecessary condition of if

[FIX] Fix comment line
  • Loading branch information
JesusZapata committed Jan 31, 2017
1 parent 93cf3b2 commit daf67df
Show file tree
Hide file tree
Showing 3 changed files with 78 additions and 0 deletions.
15 changes: 15 additions & 0 deletions pylint_odoo/checkers/modules_odoo.py
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,12 @@
'missing-manifest-dependency',
settings.DESC_DFLT
),
'W%d38' % settings.BASE_OMODULE_ID: (
'pass into block except. '
'If you really need to use the pass consider logging that exception',
'except-pass',
settings.DESC_DFLT
),
'W%d37' % settings.BASE_OMODULE_ID: (
'%s The xml attribute is missing the translation="off" tag %s',
'xml-attribute-translatable',
Expand Down Expand Up @@ -351,6 +357,15 @@ def visit_import(self, node):
if isinstance(node.scope(), astroid.Module):
self._check_imported_packages(node, name)

@utils.check_messages('except-pass')
def visit_tryexcept(self, node):
"""Visit block try except"""
for handler in node.handlers:
if (not handler.name and
len(handler.body) == 1 and
isinstance(handler.body[0], astroid.node_classes.Pass)):
self.add_message('except-pass', node=handler)

def _check_rst_syntax_error(self):
"""Check if rst file there is syntax error
:return: False if exists errors and
Expand Down
1 change: 1 addition & 0 deletions pylint_odoo/test/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@
'wrong-tabs-instead-of-spaces': 2,
'eval-referenced': 5,
'xml-syntax-error': 2,
'except-pass': 3,
'attribute-string-redundant': 33,
'renamed-field-parameter': 2,
'xml-attribute-translatable': 1,
Expand Down
62 changes: 62 additions & 0 deletions pylint_odoo/test_repo/test_module/except_pass.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
# -*- coding: utf-8 -*-
"""Test Except Pass usage"""


class TestExceptPass(object):
"""Test Except Pass class """

def test_method(self):
"""Test method """
try:
raise Exception('Exception')
except Exception: # except-pass
pass

def test_2_method(self):
"""Test 2 method """
try:
raise Exception('Exception')
except Exception:
pass
print('Exception')

def test_3_method(self):
"""Test 3 method """
try:
raise Exception('Exception')
except Exception as exception:
pass
if exception:
pass

def test_4_method(self):
try:
raise Exception('Exception')
except Exception, userError:
pass
if userError:
pass

def test_5_method(self):
try:
raise Exception('Exception')
except (Exception, IndexError) as exception:
pass
if exception:
pass

def test_6_method(self):
try:
raise Exception('Exception')
except (Exception, IndexError): # except-pass
pass

def test_7_method(self):
try:
raise Exception('Exception')
except (Exception, IndexError, NameError), exception:
pass
except Exception: # except-pass
pass
if exception:
pass

0 comments on commit daf67df

Please sign in to comment.