[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 19/72] python/qmp: add fuse command to 'qom' tools
From: |
John Snow |
Subject: |
[PULL 19/72] python/qmp: add fuse command to 'qom' tools |
Date: |
Fri, 18 Jun 2021 19:04:02 -0400 |
The 'fuse' command will be unavailable if 'fusepy' is not installed. It
will simply not load and subsequently be unavailable as a subcommand.
Signed-off-by: John Snow <jsnow@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-id: 20210603003719.1321369-20-jsnow@redhat.com
Signed-off-by: John Snow <jsnow@redhat.com>
---
python/qemu/qmp/qom.py | 14 ++++++++++++--
python/setup.cfg | 1 +
2 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/python/qemu/qmp/qom.py b/python/qemu/qmp/qom.py
index 7fe1448b5d..7ec7843d57 100644
--- a/python/qemu/qmp/qom.py
+++ b/python/qemu/qmp/qom.py
@@ -1,7 +1,7 @@
"""
QEMU Object Model testing tools.
-usage: qom [-h] {set,get,list,tree} ...
+usage: qom [-h] {set,get,list,tree,fuse} ...
Query and manipulate QOM data
@@ -9,11 +9,12 @@
-h, --help show this help message and exit
QOM commands:
- {set,get,list,tree}
+ {set,get,list,tree,fuse}
set Set a QOM property value
get Get a QOM property value
list List QOM properties at a given path
tree Show QOM tree from a given path
+ fuse Mount a QOM tree as a FUSE filesystem
"""
##
# Copyright John Snow 2020, for Red Hat, Inc.
@@ -35,6 +36,15 @@
from .qom_common import QOMCommand
+try:
+ from .qom_fuse import QOMFuse
+except ModuleNotFoundError as err:
+ if err.name != 'fuse':
+ raise
+else:
+ assert issubclass(QOMFuse, QOMCommand)
+
+
class QOMSet(QOMCommand):
"""
QOM Command - Set a property to a given value.
diff --git a/python/setup.cfg b/python/setup.cfg
index aca6f31185..6b6be8b03c 100644
--- a/python/setup.cfg
+++ b/python/setup.cfg
@@ -49,6 +49,7 @@ console_scripts =
qom-get = qemu.qmp.qom:QOMGet.entry_point
qom-list = qemu.qmp.qom:QOMList.entry_point
qom-tree = qemu.qmp.qom:QOMTree.entry_point
+ qom-fuse = qemu.qmp.qom_fuse:QOMFuse.entry_point [fuse]
[flake8]
extend-ignore = E722 # Prefer pylint's bare-except checks to flake8's
--
2.31.1
- [PULL 03/72] python/qmp: add parse_address classmethod, (continued)
- [PULL 03/72] python/qmp: add parse_address classmethod, John Snow, 2021/06/18
- [PULL 04/72] python/qmp: Add qom script rewrites, John Snow, 2021/06/18
- [PULL 13/72] scripts/qom-fuse: use QOMCommand.qom_list(), John Snow, 2021/06/18
- [PULL 18/72] scripts/qom-fuse: add redirection shim to python/qemu/qmp/qom-fuse.py, John Snow, 2021/06/18
- [PULL 20/72] scripts/qemu-ga-client: apply isort rules, John Snow, 2021/06/18
- [PULL 22/72] scripts/qemu-ga-client: Fix exception handling, John Snow, 2021/06/18
- [PULL 27/72] scripts/qemu-ga-client: add mypy type hints, John Snow, 2021/06/18
- [PULL 26/72] python/qmp: Correct type of QMPReturnValue, John Snow, 2021/06/18
- [PULL 28/72] scripts/qemu-ga-client: move to python/qemu/qmp/qemu_ga_client.py, John Snow, 2021/06/18
- [PULL 36/72] scripts/qmp-shell: remove shadowed variable from _print(), John Snow, 2021/06/18
- [PULL 19/72] python/qmp: add fuse command to 'qom' tools,
John Snow <=
- [PULL 37/72] scripts/qmp-shell: use @classmethod where appropriate, John Snow, 2021/06/18
- [PULL 10/72] scripts/qom-fuse: Apply pylint rules, John Snow, 2021/06/18
- [PULL 21/72] scripts/qemu-ga-client: apply (most) flake8 rules, John Snow, 2021/06/18
- [PULL 29/72] python/qemu-ga-client: add entry point, John Snow, 2021/06/18
- [PULL 33/72] scripts/qmp-shell: fix show_banner signature, John Snow, 2021/06/18
- [PULL 48/72] scripts/qmp-shell: Add pretty attribute to HMP shell, John Snow, 2021/06/18
- [PULL 44/72] scripts/qmp-shell: fix shell history exception handling, John Snow, 2021/06/18
- [PULL 46/72] scripts/qmp-shell: use isinstance() instead of type(), John Snow, 2021/06/18
- [PULL 43/72] scripts/qmp-shell: rename one and two-letter variables, John Snow, 2021/06/18
- [PULL 49/72] scripts/qmp-shell: Make verbose a public attribute, John Snow, 2021/06/18