[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v3 4/4] scripts: qmp-shell: Add verbose flag
From: |
John Snow |
Subject: |
[Qemu-devel] [PATCH v3 4/4] scripts: qmp-shell: Add verbose flag |
Date: |
Thu, 23 Apr 2015 10:35:01 -0400 |
Add a verbose flag that shows the QMP command that was
constructed, to allow for later copy/pasting, reference,
debugging, etc.
Signed-off-by: John Snow <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
---
scripts/qmp/qmp-shell | 21 ++++++++++++++++-----
1 file changed, 16 insertions(+), 5 deletions(-)
diff --git a/scripts/qmp/qmp-shell b/scripts/qmp/qmp-shell
index c9e4439..17babcd 100755
--- a/scripts/qmp/qmp-shell
+++ b/scripts/qmp/qmp-shell
@@ -177,6 +177,12 @@ class QMPShell(qmp.QEMUMonitorProtocol):
self.__cli_expr(cmdargs[1:], qmpcmd['arguments'])
return qmpcmd
+ def _print(self, qmp):
+ if self._pp is not None:
+ self._pp.pprint(qmp)
+ else:
+ print qmp
+
def _execute_cmd(self, cmdline):
try:
qmpcmd = self.__build_cmd(cmdline)
@@ -188,15 +194,13 @@ class QMPShell(qmp.QEMUMonitorProtocol):
# For transaction mode, we may have just cached the action:
if qmpcmd is None:
return True
+ if self._verbose:
+ self._print(qmpcmd)
resp = self.cmd_obj(qmpcmd)
if resp is None:
print 'Disconnected'
return False
-
- if self._pp is not None:
- self._pp.pprint(resp)
- else:
- print resp
+ self._print(resp)
return True
def connect(self):
@@ -232,6 +236,9 @@ class QMPShell(qmp.QEMUMonitorProtocol):
else:
return self._execute_cmd(cmdline)
+ def set_verbosity(self, verbose):
+ self._verbose = verbose
+
class HMPShell(QMPShell):
def __init__(self, address):
QMPShell.__init__(self, address)
@@ -317,6 +324,7 @@ def main():
qemu = None
hmp = False
pp = None
+ verbose = False
try:
for arg in sys.argv[1:]:
@@ -328,6 +336,8 @@ def main():
if pp is not None:
fail_cmdline(arg)
pp = pprint.PrettyPrinter(indent=4)
+ elif arg == "-v":
+ verbose = True
else:
if qemu is not None:
fail_cmdline(arg)
@@ -352,6 +362,7 @@ def main():
die('Could not connect to %s' % addr)
qemu.show_banner()
+ qemu.set_verbosity(verbose)
while qemu.read_exec_command(qemu.get_prompt()):
pass
qemu.close()
--
2.1.0
- [Qemu-devel] [PATCH v3 0/4] scripts: qmp-shell: add transaction support, John Snow, 2015/04/23
- [Qemu-devel] [PATCH v3 1/4] scripts: qmp-shell: refactor helpers, John Snow, 2015/04/23
- [Qemu-devel] [PATCH v3 4/4] scripts: qmp-shell: Add verbose flag,
John Snow <=
- [Qemu-devel] [PATCH v3 2/4] scripts: qmp-shell: Expand support for QMP expressions, John Snow, 2015/04/23
- [Qemu-devel] [PATCH v3 3/4] scripts: qmp-shell: add transaction subshell, John Snow, 2015/04/23
- Re: [Qemu-devel] [PATCH v3 0/4] scripts: qmp-shell: add transaction support, John Snow, 2015/04/23
- Re: [Qemu-devel] [PATCH v3 0/4] scripts: qmp-shell: add transaction support, Kashyap Chamarthy, 2015/04/23