diff options
| author | John Snow <jsnow@redhat.com> | 2020-05-14 01:53:43 -0400 |
|---|---|---|
| committer | Philippe Mathieu-Daudé <philmd@redhat.com> | 2020-05-31 18:25:31 +0200 |
| commit | 0add048fbd9992151e4c592977df9cff8558ca60 (patch) | |
| tree | b698f92d82a4c748dda9b917d3ba35317ca2cf04 /python/qemu/qmp.py | |
| parent | 3797dbcbb7bf1dffdd74ef84b5b21ed9c825e171 (diff) | |
| download | focaccia-qemu-0add048fbd9992151e4c592977df9cff8558ca60.tar.gz focaccia-qemu-0add048fbd9992151e4c592977df9cff8558ca60.zip | |
python/qemu: fix socket.makefile() typing
Note: A bug in typeshed (https://github.com/python/typeshed/issues/3977) misinterprets the type of makefile(). Work around this by explicitly stating that we are opening a text-mode file. Signed-off-by: John Snow <jsnow@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Message-Id: <20200514055403.18902-13-jsnow@redhat.com> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Diffstat (limited to 'python/qemu/qmp.py')
| -rw-r--r-- | python/qemu/qmp.py | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/python/qemu/qmp.py b/python/qemu/qmp.py index 6ae7693965..73d49050ed 100644 --- a/python/qemu/qmp.py +++ b/python/qemu/qmp.py @@ -11,6 +11,10 @@ import json import errno import socket import logging +from typing import ( + Optional, + TextIO, +) class QMPError(Exception): @@ -61,7 +65,7 @@ class QEMUMonitorProtocol: self.__events = [] self.__address = address self.__sock = self.__get_sock() - self.__sockfile = None + self.__sockfile: Optional[TextIO] = None self._nickname = nickname if self._nickname: self.logger = logging.getLogger('QMP').getChild(self._nickname) @@ -157,7 +161,7 @@ class QEMUMonitorProtocol: @raise QMPCapabilitiesError if fails to negotiate capabilities """ self.__sock.connect(self.__address) - self.__sockfile = self.__sock.makefile() + self.__sockfile = self.__sock.makefile(mode='r') if negotiate: return self.__negotiate_capabilities() return None @@ -180,7 +184,7 @@ class QEMUMonitorProtocol: """ self.__sock.settimeout(timeout) self.__sock, _ = self.__sock.accept() - self.__sockfile = self.__sock.makefile() + self.__sockfile = self.__sock.makefile(mode='r') return self.__negotiate_capabilities() def cmd_obj(self, qmp_cmd): |