qmp_shell.py: _fill_completion() use .command() instead of .cmd()

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>
master
Vladimir Sementsov-Ogievskiy 2023-10-06 18:41:12 +03:00 committed by John Snow
parent f187cfefd2
commit 2cee9ca97d
1 changed files with 14 additions and 6 deletions

View File

@ -91,14 +91,21 @@ from subprocess import Popen
import sys import sys
from typing import ( from typing import (
IO, IO,
Dict,
Iterator, Iterator,
List, List,
NoReturn, NoReturn,
Optional, Optional,
Sequence, Sequence,
cast,
) )
from qemu.qmp import ConnectError, QMPError, SocketAddrT from qemu.qmp import (
ConnectError,
ExecuteError,
QMPError,
SocketAddrT,
)
from qemu.qmp.legacy import ( from qemu.qmp.legacy import (
QEMUMonitorProtocol, QEMUMonitorProtocol,
QMPBadPortError, QMPBadPortError,
@ -194,11 +201,12 @@ class QMPShell(QEMUMonitorProtocol):
super().close() super().close()
def _fill_completion(self) -> None: def _fill_completion(self) -> None:
cmds = self.cmd('query-commands') try:
if 'error' in cmds: cmds = cast(List[Dict[str, str]], self.command('query-commands'))
return for cmd in cmds:
for cmd in cmds['return']: self._completer.append(cmd['name'])
self._completer.append(cmd['name']) except ExecuteError:
pass
def _completer_setup(self) -> None: def _completer_setup(self) -> None:
self._completer = QMPCompleter() self._completer = QMPCompleter()