qemu-e2k/python/qemu
John Snow 2e2d930517 python/qmp.py: add casts to JSON deserialization
mypy and python type hints are not powerful enough to properly describe
JSON messages in Python 3.6. The best we can do, generally, is describe
them as Dict[str, Any].

Add casts to coerce this type for static analysis; but do NOT enforce
this type at runtime in any way.

Note: Python 3.8 adds a TypedDict construct which allows for the
description of more arbitrary Dictionary shapes. There is a third-party
module, "Pydantic", which is compatible with 3.6 that can be used
instead of the JSON library that parses JSON messages to fully-typed
Python objects, and may be preferable in some cases.

(That is well beyond the scope of this commit or series.)

Signed-off-by: John Snow <jsnow@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Message-Id: <20200710052220.3306-6-jsnow@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
2020-07-14 22:22:22 +02:00
..
__init__.py python/qemu: Remove unneeded imports in __init__ 2019-12-16 18:39:51 -05:00
.flake8 python/qemu: delint; add flake8 config 2020-05-31 18:25:30 +02:00
accel.py python/qemu: delint; add flake8 config 2020-05-31 18:25:30 +02:00
console_socket.py python/qemu: Add ConsoleSocket for optional use in QEMUMachine 2020-07-11 15:53:00 +01:00
machine.py python/qmp.py: re-absorb MonitorResponseError 2020-07-14 22:22:22 +02:00
pylintrc python/qemu: delint and add pylintrc 2020-05-31 18:25:30 +02:00
qmp.py python/qmp.py: add casts to JSON deserialization 2020-07-14 22:22:22 +02:00
qtest.py python/qemu/qtest: Check before accessing _qtest 2020-05-31 18:25:31 +02:00