aboutsummaryrefslogtreecommitdiff
path: root/python
diff options
context:
space:
mode:
authorJohn Snow <jsnow@redhat.com>2020-05-14 01:53:44 -0400
committerPhilippe Mathieu-Daudé <philmd@redhat.com>2020-05-31 18:25:31 +0200
commit1dda0404d8afeb0ed45fbeae85e380e1ff57da35 (patch)
treec1d0545fe4ac5d8de6c24b336f795c45e840ccdf /python
parent0add048fbd9992151e4c592977df9cff8558ca60 (diff)
downloadqemu-1dda0404d8afeb0ed45fbeae85e380e1ff57da35.zip
qemu-1dda0404d8afeb0ed45fbeae85e380e1ff57da35.tar.gz
qemu-1dda0404d8afeb0ed45fbeae85e380e1ff57da35.tar.bz2
python/qemu: Adjust traceback typing
mypy considers it incorrect to use `bool` to statically return false, because it will assume that it could conceivably return True, and gives different analysis in that case. Use a None return to achieve the same effect, but make mypy happy. Note: Pylint considers function signatures as code that might trip the duplicate-code checker. I'd rather not disable this as it does not trigger often in practice, so I'm disabling it as a one-off and filed a change request; see https://github.com/PyCQA/pylint/issues/3619 Signed-off-by: John Snow <jsnow@redhat.com> Acked-by: Philippe Mathieu-Daudé <philmd@redhat.com> Message-Id: <20200514055403.18902-14-jsnow@redhat.com> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Diffstat (limited to 'python')
-rw-r--r--python/qemu/machine.py8
-rw-r--r--python/qemu/qmp.py10
2 files changed, 14 insertions, 4 deletions
diff --git a/python/qemu/machine.py b/python/qemu/machine.py
index 95a20a1..041c615 100644
--- a/python/qemu/machine.py
+++ b/python/qemu/machine.py
@@ -24,6 +24,8 @@ import subprocess
import shutil
import socket
import tempfile
+from typing import Optional, Type
+from types import TracebackType
from . import qmp
@@ -124,9 +126,11 @@ class QEMUMachine:
def __enter__(self):
return self
- def __exit__(self, exc_type, exc_val, exc_tb):
+ def __exit__(self,
+ exc_type: Optional[Type[BaseException]],
+ exc_val: Optional[BaseException],
+ exc_tb: Optional[TracebackType]) -> None:
self.shutdown()
- return False
def add_monitor_null(self):
"""
diff --git a/python/qemu/qmp.py b/python/qemu/qmp.py
index 73d4905..b91c9d5 100644
--- a/python/qemu/qmp.py
+++ b/python/qemu/qmp.py
@@ -14,7 +14,9 @@ import logging
from typing import (
Optional,
TextIO,
+ Type,
)
+from types import TracebackType
class QMPError(Exception):
@@ -146,10 +148,14 @@ class QEMUMonitorProtocol:
# Implement context manager enter function.
return self
- def __exit__(self, exc_type, exc_value, exc_traceback):
+ def __exit__(self,
+ # pylint: disable=duplicate-code
+ # see https://github.com/PyCQA/pylint/issues/3619
+ exc_type: Optional[Type[BaseException]],
+ exc_val: Optional[BaseException],
+ exc_tb: Optional[TracebackType]) -> None:
# Implement context manager exit function.
self.close()
- return False
def connect(self, negotiate=True):
"""