[PATCH 02/11] python: Remove global pylint suppressions

John Snow posted 11 patches 4 years, 7 months ago
Maintainers: "Philippe Mathieu-Daudé" <f4bug@amsat.org>, Willian Rampazzo <willianr@redhat.com>, Eduardo Habkost <ehabkost@redhat.com>, "Alex Bennée" <alex.bennee@linaro.org>, Cleber Rosa <crosa@redhat.com>, Wainer dos Santos Moschetta <wainersm@redhat.com>, John Snow <jsnow@redhat.com>, Thomas Huth <thuth@redhat.com>
There is a newer version of this series
[PATCH 02/11] python: Remove global pylint suppressions
Posted by John Snow 4 years, 7 months ago
These suppressions only apply to a small handful of places. Instead of
disabling them globally, disable them just in the cases where we
need. The design of the machine class grew quite organically with tons
of constructor and class instance variables -- there's little chance of
meaningfully refactoring it in the near term, so just suppress the
warnings for that class.

Signed-off-by: John Snow <jsnow@redhat.com>
---
 python/qemu/machine/machine.py | 3 +++
 python/qemu/machine/qtest.py   | 2 ++
 python/setup.cfg               | 4 +---
 3 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/python/qemu/machine/machine.py b/python/qemu/machine/machine.py
index b62435528e..e3345dfa1b 100644
--- a/python/qemu/machine/machine.py
+++ b/python/qemu/machine/machine.py
@@ -84,6 +84,7 @@ class QEMUMachine:
             ...
         # vm is guaranteed to be shut down here
     """
+    # pylint: disable=too-many-instance-attributes, too-many-public-methods
 
     def __init__(self,
                  binary: str,
@@ -111,6 +112,8 @@ def __init__(self,
         @param console_log: (optional) path to console log file
         @note: Qemu process is not started until launch() is used.
         '''
+        # pylint: disable=too-many-arguments
+
         # Direct user configuration
 
         self._binary = binary
diff --git a/python/qemu/machine/qtest.py b/python/qemu/machine/qtest.py
index 93700684d1..d6d9c6a34a 100644
--- a/python/qemu/machine/qtest.py
+++ b/python/qemu/machine/qtest.py
@@ -116,6 +116,8 @@ def __init__(self,
                  base_temp_dir: str = "/var/tmp",
                  socket_scm_helper: Optional[str] = None,
                  sock_dir: Optional[str] = None):
+        # pylint: disable=too-many-arguments
+
         if name is None:
             name = "qemu-%d" % os.getpid()
         if sock_dir is None:
diff --git a/python/setup.cfg b/python/setup.cfg
index db1639c1f2..524789d6e0 100644
--- a/python/setup.cfg
+++ b/python/setup.cfg
@@ -87,9 +87,7 @@ ignore_missing_imports = True
 # --enable=similarities". If you want to run only the classes checker, but have
 # no Warning level messages displayed, use "--disable=all --enable=classes
 # --disable=W".
-disable=too-many-arguments,
-        too-many-instance-attributes,
-        too-many-public-methods,
+disable=
 
 [pylint.basic]
 # Good variable names which should always be accepted, separated by a comma.
-- 
2.31.1


Re: [PATCH 02/11] python: Remove global pylint suppressions
Posted by Willian Rampazzo 4 years, 7 months ago
On Fri, Jun 25, 2021 at 12:46 PM John Snow <jsnow@redhat.com> wrote:
>
> These suppressions only apply to a small handful of places. Instead of
> disabling them globally, disable them just in the cases where we
> need. The design of the machine class grew quite organically with tons
> of constructor and class instance variables -- there's little chance of
> meaningfully refactoring it in the near term, so just suppress the
> warnings for that class.
>
> Signed-off-by: John Snow <jsnow@redhat.com>
> ---
>  python/qemu/machine/machine.py | 3 +++
>  python/qemu/machine/qtest.py   | 2 ++
>  python/setup.cfg               | 4 +---
>  3 files changed, 6 insertions(+), 3 deletions(-)
>

Reviewed-by: Willian Rampazzo <willianr@redhat.com>


Re: [PATCH 02/11] python: Remove global pylint suppressions
Posted by Wainer dos Santos Moschetta 4 years, 7 months ago
On 6/25/21 12:45 PM, John Snow wrote:
> These suppressions only apply to a small handful of places. Instead of
> disabling them globally, disable them just in the cases where we
> need. The design of the machine class grew quite organically with tons
> of constructor and class instance variables -- there's little chance of
> meaningfully refactoring it in the near term, so just suppress the
> warnings for that class.
>
> Signed-off-by: John Snow <jsnow@redhat.com>
> ---
>   python/qemu/machine/machine.py | 3 +++
>   python/qemu/machine/qtest.py   | 2 ++
>   python/setup.cfg               | 4 +---
>   3 files changed, 6 insertions(+), 3 deletions(-)
Reviewed-by: Wainer dos Santos Moschetta <wainersm@redhat.com>
>
> diff --git a/python/qemu/machine/machine.py b/python/qemu/machine/machine.py
> index b62435528e..e3345dfa1b 100644
> --- a/python/qemu/machine/machine.py
> +++ b/python/qemu/machine/machine.py
> @@ -84,6 +84,7 @@ class QEMUMachine:
>               ...
>           # vm is guaranteed to be shut down here
>       """
> +    # pylint: disable=too-many-instance-attributes, too-many-public-methods
>   
>       def __init__(self,
>                    binary: str,
> @@ -111,6 +112,8 @@ def __init__(self,
>           @param console_log: (optional) path to console log file
>           @note: Qemu process is not started until launch() is used.
>           '''
> +        # pylint: disable=too-many-arguments
> +
>           # Direct user configuration
>   
>           self._binary = binary
> diff --git a/python/qemu/machine/qtest.py b/python/qemu/machine/qtest.py
> index 93700684d1..d6d9c6a34a 100644
> --- a/python/qemu/machine/qtest.py
> +++ b/python/qemu/machine/qtest.py
> @@ -116,6 +116,8 @@ def __init__(self,
>                    base_temp_dir: str = "/var/tmp",
>                    socket_scm_helper: Optional[str] = None,
>                    sock_dir: Optional[str] = None):
> +        # pylint: disable=too-many-arguments
> +
>           if name is None:
>               name = "qemu-%d" % os.getpid()
>           if sock_dir is None:
> diff --git a/python/setup.cfg b/python/setup.cfg
> index db1639c1f2..524789d6e0 100644
> --- a/python/setup.cfg
> +++ b/python/setup.cfg
> @@ -87,9 +87,7 @@ ignore_missing_imports = True
>   # --enable=similarities". If you want to run only the classes checker, but have
>   # no Warning level messages displayed, use "--disable=all --enable=classes
>   # --disable=W".
> -disable=too-many-arguments,
> -        too-many-instance-attributes,
> -        too-many-public-methods,
> +disable=
>   
>   [pylint.basic]
>   # Good variable names which should always be accepted, separated by a comma.