We just want to ignore failure, so we don't need low level .cmd(). This
helps further renaming .command() to .cmd().
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-id:
20231006154125.
1068348-3-vsementsov@yandex-team.ru
Signed-off-by: John Snow <jsnow@redhat.com>
import sys
from typing import (
IO,
+ Dict,
Iterator,
List,
NoReturn,
Optional,
Sequence,
+ cast,
)
-from qemu.qmp import ConnectError, QMPError, SocketAddrT
+from qemu.qmp import (
+ ConnectError,
+ ExecuteError,
+ QMPError,
+ SocketAddrT,
+)
from qemu.qmp.legacy import (
QEMUMonitorProtocol,
QMPBadPortError,
super().close()
def _fill_completion(self) -> None:
- cmds = self.cmd('query-commands')
- if 'error' in cmds:
- return
- for cmd in cmds['return']:
- self._completer.append(cmd['name'])
+ try:
+ cmds = cast(List[Dict[str, str]], self.command('query-commands'))
+ for cmd in cmds:
+ self._completer.append(cmd['name'])
+ except ExecuteError:
+ pass
def _completer_setup(self) -> None:
self._completer = QMPCompleter()