From f05db5a0289de32649ebfa149e43993595942c46 Mon Sep 17 00:00:00 2001 From: Al Bailey Date: Thu, 19 Jan 2023 20:50:44 +0000 Subject: [PATCH] Cleanup pylint.rc file The python3 checkers added to allow python2 to detect py3 errors have been removed, since all those checkers are on when running in a python3 environment. Fixed the following errors in pylint.rc E0015: Unrecognized option found Suppress explicit C and R pylint checks rather than all of them. Flagged some suppressed codes with !!! to suggest that those should be prioritized to be fixed. Removed inline suppressions from .py files for checks that no longer exist in python3 pylint. The following invalid pylint.rc entries have been removed files-output bad-functions max-branchs Interleave the 'ignore' codes with their comments so that there are fewer git conflicts when updating the pylint.rc file. Test Plan: PASS: tox -e pylint PASS: build-pkgs -p nfv Story: 2010531 Task: 47218 Signed-off-by: Al Bailey Change-Id: Ia568c8afc37bf10ad9900817722c29c508e45c28 --- .../nfv_common/forensic/_evidence.py | 2 +- .../nfvi_plugins/openstack/exceptions.py | 6 +- nfv/nfv-vim/nfv_vim/strategy/_strategy.py | 2 +- nfv/pylint.rc | 212 +++++++----------- 4 files changed, 86 insertions(+), 136 deletions(-) diff --git a/nfv/nfv-common/nfv_common/forensic/_evidence.py b/nfv/nfv-common/nfv_common/forensic/_evidence.py index 9fd430b5..f2fe5dd7 100755 --- a/nfv/nfv-common/nfv_common/forensic/_evidence.py +++ b/nfv/nfv-common/nfv_common/forensic/_evidence.py @@ -57,6 +57,6 @@ def evidence_from_files(files, start_date, end_date, progress=None): records.append(record) if progress is not None: - progress((float(lines_read) / total_lines) * 100) # pylint: disable=W1619 + progress((float(lines_read) / total_lines) * 100) return records diff --git a/nfv/nfv-plugins/nfv_plugins/nfvi_plugins/openstack/exceptions.py b/nfv/nfv-plugins/nfv_plugins/nfvi_plugins/openstack/exceptions.py index b0f76c79..914ce5d3 100755 --- a/nfv/nfv-plugins/nfv_plugins/nfvi_plugins/openstack/exceptions.py +++ b/nfv/nfv-plugins/nfv_plugins/nfvi_plugins/openstack/exceptions.py @@ -41,7 +41,7 @@ class OpenStackException(exceptions.PickleableException): Return a tuple so that we can properly pickle the exception """ return (OpenStackException, (self._method, self._url, self._headers, - self._body, self.message, self._reason)) # pylint: disable=W1645 + self._body, self.message, self._reason)) @property def message(self): @@ -101,7 +101,7 @@ class OpenStackRestAPIException(exceptions.PickleableException): """ return (OpenStackRestAPIException, (self._method, self._url, self._headers, self._body, - self._status_code, self.message, # pylint: disable=W1645 + self._status_code, self.message, self._reason, self._response_headers, self._response_body, @@ -170,7 +170,7 @@ class NotFound(exceptions.PickleableException): """ Return a tuple so that we can properly pickle the exception """ - return NotFound, (self.message,) # pylint: disable=W1645 + return NotFound, (self.message,) @property def message(self): diff --git a/nfv/nfv-vim/nfv_vim/strategy/_strategy.py b/nfv/nfv-vim/nfv_vim/strategy/_strategy.py index 08b24380..fd611217 100755 --- a/nfv/nfv-vim/nfv_vim/strategy/_strategy.py +++ b/nfv/nfv-vim/nfv_vim/strategy/_strategy.py @@ -204,7 +204,7 @@ class SwUpdateStrategy(strategy.Strategy): num_worker_hosts = host_table.total_by_personality( HOST_PERSONALITY.WORKER) aggregate_ratio = \ - float(self._max_parallel_worker_hosts) / num_worker_hosts # pylint: disable=W1619 + float(self._max_parallel_worker_hosts) / num_worker_hosts # Limit the ratio to half the worker hosts in an aggregate if aggregate_ratio > 0.5: aggregate_ratio = 0.5 diff --git a/nfv/pylint.rc b/nfv/pylint.rc index e2c45890..020e223f 100755 --- a/nfv/pylint.rc +++ b/nfv/pylint.rc @@ -17,141 +17,97 @@ load-plugins= [MESSAGES CONTROL] -# Enable the message, report, category or checker with the given id(s). You can -# either give multiple identifier separated by comma (,) or put this option -# multiple time. -# -# Python3 checker: -# -# E1601: print-statement -# E1602: parameter-unpacking -# E1603: unpacking-in-except -# E1604: old-raise-syntax -# E1605: backtick -# E1606: long-suffix -# E1607: old-ne-operator -# E1608: old-octal-literal -# E1609: import-star-module-level -# E1610: non-ascii-bytes-literal -# E1611: invalid-unicode-literal -# W1601: apply-builtin -# W1602: basestring-builtin -# W1603: buffer-builtin -# W1604: cmp-builtin -# W1605: coerce-builtin -# W1606: execfile-builtin -# W1607: file-builtin -# W1608: long-builtin -# W1609: raw_input-builtin -# W1610: reduce-builtin -# W1611: standarderror-builtin -# W1612: unicode-builtin -# W1613: xrange-builtin -# W1614: coerce-method -# W1615: delslice-method -# W1616: getslice-method -# W1617: setslice-method -# W1618: no-absolute-import -# W1619: old-division -# W1620: dict-iter-method -# W1621: dict-view-method -# W1622: next-method-called -# W1623: metaclass-assignment -# W1624: indexing-exception -# W1625: raising-string -# W1626: reload-builtin -# W1627: oct-method -# W1628: hex-method -# W1629: nonzero-method -# W1630: cmp-method -# W1632: input-builtin -# W1633: round-builtin -# W1634: intern-builtin -# W1635: unichr-builtin -# W1636: map-builtin-not-iterating -# W1637: zip-builtin-not-iterating -# W1638: range-builtin-not-iterating -# W1639: filter-builtin-not-iterating -# W1640: using-cmp-argument -# W1641: eq-without-hash -# W1642: div-method -# W1643: idiv-method -# W1644: rdiv-method -# W1645: exception-message-attribute -# W1646: invalid-str-codec -# W1647: sys-max-int -# W1648: bad-python3-import -# W1649: deprecated-string-function -# W1650: deprecated-str-translate-call -# W1651: deprecated-itertools-function -# W1652: deprecated-types-field -# W1653: next-method-defined -# W1654: dict-items-not-iterating -# W1655: dict-keys-not-iterating -# W1656: dict-values-not-iterating -# W1657: deprecated-operator-function -# W1658: deprecated-urllib-function -# W1659: xreadlines-attribute -# W1660: deprecated-sys-function -# W1661: exception-escape -# W1662: comprehension-escape -enable=E1603,E1609,E1610,E1602,E1606,E1608,E1607,E1605,E1604,E1601,E1611,W1652, - W1651,W1649,W1657,W1660,W1658,W1659,W1623,W1622,W1620,W1621,W1645,W1641, - W1624,W1648,W1625,W1611,W1662,W1661,W1650,W1640,W1630,W1614,W1615,W1642, - W1616,W1628,W1643,W1629,W1627,W1644,W1617,W1601,W1602,W1603,W1604,W1605, - W1654,W1655,W1656,W1619,W1606,W1607,W1639,W1618,W1632,W1634,W1608,W1636, - W1653,W1646,W1638,W1609,W1610,W1626,W1633,W1647,W1635,W1612,W1613,W1637 - # Disable the message, report, category or checker with the given id(s). You # can either give multiple identifier separated by comma (,) or put this option # multiple time (only on the command line, not in the configuration file where # it should appear only once). -# W0107: Unnecessary pass statement (unnecessary-pass) -# W0120 useless-else-on-loop -# W0125 using-constant-test -# W0212 protected-access var starting with _ used outside class or descendant -# W0221 arguments-differ -# W0223 abstract-method -# W0231 super-init-not-called -# W0235 useless-super-delegation -# W0401 wildcard-import -# W0404 reimported -# W0511 fixme -# W0602 global-variable-not-assigned -# W0603 Using the global statement warning -# W0612 Unused variable warning -# W0613 Unused argument warning -# W0621 redefined-outer-name -# W0622 redefined-builtin -# W0703 broad except warning -# W0706 The except handler raises immediately (try-except-raise) -# W0707 raise-missing-from -# W1310 format-string-without-interpolation -# W1401 anomalous-backslash-in-string -# W1406 redundant-u-string-prefix -# W1505 Using deprecated method getargspec() (deprecated-method) -# W1514 unspecified-encoding -# W0237 arguments-renamed -# W4904 deprecated-class -# W4905 deprecated-decorator -# E1101 no-member -# E1111 assignment-from-no-return -# E1121 too-many-function-args -disable=C, R, W0120, W0125, W0212, W0221, W0223, W0231, W0235, - W0401, W0404, W0511, W0602, W0603, W0612, W0613, W0621, W0622, W0703, W1401, - W0107, W0706, W0707, W1310, W1406, W1505, W1514, W0237, W4904, W4905, - E1101, E1111, E1121 +disable= + C0103, # invalid-name + C0114, # missing-module-docstring + C0115, # missing-class-docstring + C0116, # missing-function-docstring + C0123, # unidiomatic-typecheck !!! + C0200, # consider-using-enumerate !!! + C0201, # consider-iterating-dictionary + C0204, # bad-mcs-classmethod-argument + C0206, # consider-using-dict-items + C0207, # use-maxsplit-arg !!! + C0209, # consider-using-f-string + C0301, # line-too-long + C0302, # too-many-lines + C0325, # superfluous-parens !!! + C0411, # wrong-import-order + C0412, # ungrouped-imports + C0415, # import-outside-toplevel + C1802, # use-implicit-booleaness-not-len !!! + R0205, # useless-object-inheritance + R0401, # cyclic-import + R0801, # duplicate-code + R0901, # too-many-ancestors + R0902, # too-many-instance-attributes + R0903, # too-few-public-methods + R0904, # too-many-public-methods + R0911, # too-many-return-statements + R0912, # too-many-branches + R0913, # too-many-arguments + R0914, # too-many-locals + R0915, # too-many-statements + R0916, # too-many-boolean-expressions + R1702, # too-many-nested-blocks + R1703, # simplifiable-if-statement + R1704, # redefined-argument-from-local !!! + R1705, # no-else-return + R1710, # inconsistent-return-statements !!! + R1711, # useless-return !!! + R1714, # consider-using-in + R1720, # no-else-raise + R1723, # no-else-break + R1724, # no-else-continue + R1725, # super-with-arguments + R1729, # use-a-generator + R1730, # consider-using-min-builtin !!! + R1731, # consider-using-max-builtin !!! + R1732, # consider-using-with + R1734, # use-list-literal + R1735, # use-dict-literal + W0012, # unknown-option-value + W0107, # unnecessary-pass + W0120, # useless-else-on-loop + W0125, # using-constant-test + W0212, # protected-access + W0221, # arguments-differ + W0223, # abstract-method + W0231, # super-init-not-called + W0235, # useless-super-delegation + W0401, # wildcard-import + W0404, # reimported + W0511, # fixme + W0602, # global-variable-not-assigned + W0603, # global-statement + W0612, # unused-variable + W0613, # unused-argument + W0621, # redefined-outer-name + W0622, # redefined-builtin + W0703, # broad-except + W0706, # try-except-raise + W0707, # raise-missing-from + W1310, # format-string-without-interpolation + W1401, # anomalous-backslash-in-string + W1406, # redundant-u-string-prefix + W1505, # deprecated-method + W1514, # unspecified-encoding + W0237, # arguments-renamed + W4904, # deprecated-class + W4905, # deprecated-decorator + E1101, # no-member + E1111, # assignment-from-no-return + E1121 # too-many-function-args [REPORTS] # Set the output format. Available formats are text, parseable, colorized, msvs # (visual studio) and html output-format=text -# Put messages in a separate file for each module / package specified on the -# command line instead of printing them on stdout. Reports (if any) will be -# written in a file name "pylint_global.[txt|html]". -files-output=no - # Tells whether to display a full report or only the messages reports=no @@ -208,9 +164,6 @@ generated-members=REQUEST,acl_users,aq_parent [BASIC] -# List of builtins function names that should not be used, separated by a comma -bad-functions=map,filter,apply,input - # Regular expression which should only match correct module names module-rgx=(([a-z_][a-z0-9_]*)|([A-Z][a-zA-Z0-9]+))$ @@ -299,9 +252,6 @@ max-locals=15 # Maximum number of return / yield for function / method body max-returns=6 -# Maximum number of branch for function / method body -max-branchs=12 - # Maximum number of statements in function / method body max-statements=50