c7b942d7f8
There's more wrong with these scripts; They are in various stages of disrepair. That's beyond the scope of this current patchset. This just mechanically corrects the imports and the shebangs, as part of ensuring that the python/qemu/lib refactoring didn't break anything needlessly. Signed-off-by: John Snow <jsnow@redhat.com> Message-Id: <20200528222129.23826-2-jsnow@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
78 lines
2.0 KiB
Python
Executable File
78 lines
2.0 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
##
|
|
# QEMU Object Model test tools
|
|
#
|
|
# Copyright IBM, Corp. 2011
|
|
# Copyright (c) 2013 SUSE LINUX Products GmbH
|
|
#
|
|
# Authors:
|
|
# Anthony Liguori <aliguori@amazon.com>
|
|
# Andreas Faerber <afaerber@suse.de>
|
|
#
|
|
# This work is licensed under the terms of the GNU GPL, version 2 or later. See
|
|
# the COPYING file in the top-level directory.
|
|
##
|
|
|
|
import sys
|
|
import os
|
|
|
|
sys.path.append(os.path.join(os.path.dirname(__file__), '..', '..', 'python'))
|
|
from qemu.qmp import QEMUMonitorProtocol
|
|
|
|
cmd, args = sys.argv[0], sys.argv[1:]
|
|
socket_path = None
|
|
path = None
|
|
prop = None
|
|
|
|
def usage():
|
|
return '''environment variables:
|
|
QMP_SOCKET=<path | addr:port>
|
|
usage:
|
|
%s [-h] [-s <QMP socket path | addr:port>] [<path>]
|
|
''' % cmd
|
|
|
|
def usage_error(error_msg = "unspecified error"):
|
|
sys.stderr.write('%s\nERROR: %s\n' % (usage(), error_msg))
|
|
exit(1)
|
|
|
|
if len(args) > 0:
|
|
if args[0] == "-h":
|
|
print(usage())
|
|
exit(0);
|
|
elif args[0] == "-s":
|
|
try:
|
|
socket_path = args[1]
|
|
except:
|
|
usage_error("missing argument: QMP socket path or address");
|
|
args = args[2:]
|
|
|
|
if not socket_path:
|
|
if 'QMP_SOCKET' in os.environ:
|
|
socket_path = os.environ['QMP_SOCKET']
|
|
else:
|
|
usage_error("no QMP socket path or address given");
|
|
|
|
srv = QEMUMonitorProtocol(socket_path)
|
|
srv.connect()
|
|
|
|
def list_node(path):
|
|
print('%s' % path)
|
|
items = srv.command('qom-list', path=path)
|
|
for item in items:
|
|
if not item['type'].startswith('child<'):
|
|
try:
|
|
print(' %s: %s (%s)' % (item['name'], srv.command('qom-get', path=path, property=item['name']), item['type']))
|
|
except:
|
|
print(' %s: <EXCEPTION> (%s)' % (item['name'], item['type']))
|
|
print('')
|
|
for item in items:
|
|
if item['type'].startswith('child<'):
|
|
list_node((path if (path != '/') else '') + '/' + item['name'])
|
|
|
|
if len(args) == 0:
|
|
path = '/'
|
|
else:
|
|
path = args[0]
|
|
|
|
list_node(path)
|