summaryrefslogtreecommitdiff
path: root/python
diff options
context:
space:
mode:
authorJohn Snow <jsnow@redhat.com>2021-06-02 20:37:19 -0400
committerJohn Snow <jsnow@redhat.com>2021-06-18 16:10:06 -0400
commit176c5490724b813704bd5b083b9f5c9b857fdaad (patch)
tree4ddc4385bc0c922b70dac744fd8e9071468ec1b7 /python
parentc89b38cd0a9ec852ed5504b3083ca7592d76b730 (diff)
downloadqemu-176c5490724b813704bd5b083b9f5c9b857fdaad.zip
python/qmp: add fuse command to 'qom' tools
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>
Diffstat (limited to 'python')
-rw-r--r--python/qemu/qmp/qom.py14
-rw-r--r--python/setup.cfg1
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 @@ optional arguments:
-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 . import QMPResponseError
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