@@ -91,14 +91,21 @@
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,
@@ -194,11 +201,12 @@ def close(self) -> None:
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()