Commit Graph

21 Commits

Author SHA1 Message Date
Dongcan Ye 7124a4d4fa Fix pep8 error in py37
While running PEP8 in python3.7 environment, will met the
following exception:
"RuntimeError: generator raised StopIteration"
This is an known issue in py3.7, and had been fixed in Pylint 2.x.

After upgrade Pylint to 2.2.0, the issue is:
"AttributeError: 'Import' object has no
attribute 'infer_name_module' on import"
This issue was fixed in Pylint 2.3.0.

So upgrades Pylint to 2.3.0, this patch also
adds some refactor recommendations in .pylintrc[1]

[1] http://paste.openstack.org/show/789057/

Change-Id: I2b3983e3653d92c5b12f233b57fb4467df1da83d
2020-02-03 11:16:12 +00:00
Al Miller b1adbcfc50 Add "nonstandard-exception" to .pylintrc
We need to add the "nonstandard-exception" to .pylintrc.  This
is copied from https://review.openstack.org/#/c/268232/16/.pylintrc

Change-Id: Id3f199d688d648f4618a6850d094e26ca6bb9a7f
2016-02-11 13:45:54 -08:00
Paul Michali 92030ba6e3 VPNaaS: Enable pylint duplicate-key check
I tried this in the VPNaaS repo and it passes, so we can enable
this, in a manner similar to Neutron (see review 188247 with commit
If4fed9714cd7fa586845f21f8f56dde2645cc5e0).

Change-Id: I3e2ba541142aefc38ca10e94400f942443c00f7b
2015-06-04 16:54:12 +00:00
Jenkins e1bf59fc34 Merge "Enable undefined-loop-variable pylint check" 2014-11-30 17:04:58 +00:00
Angus Lees 48c7e72a41 Enable undefined-loop-variable pylint check
This required a trivial refactor of two existing cases in the codebase.

These two cases were perfectly correct, but the check uncovered a 3rd
case which was a real bug (fixed separately).  The new versions also
make it clear that if the loop fails to break early then the 'result' is
None (and thus an error) and not simply the last element.  On balance,
it's probably worth enforcing this small inconvenience to coding style.

Change-Id: I780a95241f1454c6886d91f980eb9ada7678a119
Related-Bug: #1362466
2014-11-28 11:40:41 +11:00
Angus Lees 43fbb6cf9a Fix incorrect exception order in _execute_request
_execute_request has a list of exception handlers to log various types
of errors with more specific error messages. Unfortunately, it catches
requests.exceptions.ConnectionError before requests.exceptions.SSLError,
but ConnectionError is a superclass of SSLError so the latter is never
invoked.

This change corrects the exception handling order, and enables the
bad-except-order pylint check now that the check passes.

Change-Id: I92bacd6088de5cbc170bc5c081a1db1baeec69e7
Closes-Bug: #1360970
2014-11-27 16:44:44 +11:00
Jenkins 034177348c Merge "Switch run-time import to using importutils.import_module" 2014-11-19 11:49:20 +00:00
Jenkins e9e9fedef8 Merge "Enable assignment-from-no-return pylint check" 2014-11-11 03:31:19 +00:00
Jenkins 9dfb640fa7 Merge "Remove single occurrence of lost-exception warning" 2014-11-08 23:35:44 +00:00
Jenkins cecd31e1d6 Merge "Hyper-V: Remove useless use of "else" clause on for loop" 2014-10-28 23:21:48 +00:00
Jenkins 11505bf63f Merge "Enable no-name-in-module pylint check" 2014-10-28 08:46:01 +00:00
Angus Lees 3f12d7f756 Hyper-V: Remove useless use of "else" clause on for loop
"else" on for loops is only important if the loop contains a "break"
statement.  Without a "break", the else block is _always_ executed and
it is clearer just to omit "else".

This change also enables the corresponding pylint warning, now that the
only offending case has been fixed.

Change-Id: Ibe8761cb40a7d2d564aa718d62c9f383b5ad711e
2014-10-22 09:38:23 +11:00
Angus Lees 0c54417698 Enable no-name-in-module pylint check
Add _MovedItems (from six.moves) to pylintrc ignored-modules, and adjust
one import of sqlalchemy.orm.properties.RelationshipProperty.

s.o.p.RelationshipProperty is created at import-time in a rather
exciting manner - rearranging the import in this way forces the
import-time code to be executed and seems sufficient to satisfy the
pylint static check.

Change-Id: Ic99dc2b7dfac75930a5c446ae899eaae09ee6174
2014-10-22 09:24:21 +11:00
Angus Lees 8f64098c30 Remove duplicate import of constants module
.. and enable corresponding pylint check now the only offending instance
is fixed.

Change-Id: I35a12ace46c872446b8c87d0aacce45e94d71bae
2014-10-21 16:03:22 +11:00
Angus Lees f5ba343d1d Switch run-time import to using importutils.import_module
.. and enable the cyclic-import pylint check, now that this particular
import is invisible to pylint.

Change-Id: I9bfe7f77742b0db3ebead6a6767ade9b91e54c22
2014-10-21 15:46:33 +11:00
Angus Lees d909d53d38 Enable assignment-from-no-return pylint check
The @versioning.versioned decorator used (only) in
plugins.vmware.nsxlib.router completely confuses this check, so add a
file-local pylint disable.

Change-Id: I2a79a643a982f49faaf22b88764cb170ef89ce21
2014-10-21 15:20:28 +11:00
Angus Lees a31ab84e1d Remove single occurrence of lost-exception warning
Returning within a finally block can be surprising since the finally
block will "hijack" the regular return flow.  In this case, pylint is
trying to warn us that the return-within-finally would discard the
earlier caught exception.  For this particular function we don't care
that the exception is lost, so the existing code is correct but possibly
confusing.

Our options are:
1. Disable the lost-exception warning for this function
2. Rewrite the function to avoid return-within-finally

This change takes approach (2), since the required change is trivial.

This change also enables the corresponding pylint check now that the
only offending case has been removed.

Change-Id: If1706851b4bd67ebdbbdb3485984773598efdf7a
2014-10-20 10:12:39 +11:00
Angus Lees c7f20d0c0b Add pylint tox environment and disable all existing warnings
pylintrc update disables all warnings that currently trigger on neutron
code.  The rough plan is to slowly re-enable warning categories as we
clean up code in question.

This change also includes a few ultra-trivial syntax cleanups where it
allowed the check to be immediately enabled for the rest of the
codebase:

- Added missing trailing newlines in several files
  (db/migration/__init__.py, nuage/{nuagedb,syncmanager,common/config}.py)
- Renamed self to cls in @classmethods
  (cisco/db/l3/device_handling_db.py)
- Removed whitespace around '=' in a kwarg
  (cisco/db/l3/device_handling_db.py, cisco/db/n1kv_db_v2.py)
- Updated deprecated pylint 'disable-msg' directive to newer 'disable'
  (cisco/extensions/qos.py)
- File-specific disable for too-many-format-args pending further
  investigation of alternatives
  (ml2/drivers/arista/arista_l3_driver.py)
- Import module rather than object and avoid long line
  (services/l3_router/l3_arista.py)

Change-Id: Ifb0a1a38e33f9073a78658ca578fbd2a42747724
2014-10-12 19:14:29 +11:00
Adam Harwell 007e8770a2 Remove duplicate module-rgx line in .pylintrc
The correct neutron configuration will no longer be overwritten by
the old quantum configuration.

Change-Id: I4923ad4e35a5053966edb307587c72c0b684d149
Closes-Bug: 1316334
2014-05-06 22:57:33 +00:00
Mark McClain ee576e2921 Rename Quantum to Neutron
This change renames everything to Neutron while providing backwards
compatible adjustments for Grizzly configuration files.

implements blueprint: remove-use-of-quantum

Change-Id: Ie7d07ba7c89857e13d4ddc8f0e9b68de020a3d19
2013-07-06 15:02:43 -04:00
Salvatore Orlando c7cc9ae98e Bug #890028
Change run_tests.sh for running pep8/pylint validation only
(also adds .pylintrc file)

Resubmitting this time making sure we run pylint for Quantum!
Also run just with -l for total number of messages
Run with -l -v for detailed pylint messages

Change-Id: I593c8aed4e0e6b06204c6c4308934da198778fd6
2011-12-14 00:33:37 +00:00