diff options
author | Daniel P. Berrange <berrange@redhat.com> | 2016-07-20 14:23:09 +0100 |
---|---|---|
committer | Amit Shah <amit.shah@redhat.com> | 2016-07-22 13:23:17 +0530 |
commit | 991e7c46504807bd89ba8debeccc5211e0b7f221 (patch) | |
tree | 3fb5014f431c27ca2f447f7e651b0f07aa039371 /scripts | |
parent | 6f7a4a81ce6cc75a1b3b8f4dddaedf26dc04b705 (diff) | |
download | qemu-991e7c46504807bd89ba8debeccc5211e0b7f221.zip qemu-991e7c46504807bd89ba8debeccc5211e0b7f221.tar.gz qemu-991e7c46504807bd89ba8debeccc5211e0b7f221.tar.bz2 |
scripts: add a 'debug' parameter to QEMUMonitorProtocol
Add a 'debug' parameter to the QEMUMonitorProtocol class
which will cause it to print out all JSON strings on
sys.stderr
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
Message-Id: <1469020993-29426-3-git-send-email-berrange@redhat.com>
Signed-off-by: Amit Shah <amit.shah@redhat.com>
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/qmp/qmp.py | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/scripts/qmp/qmp.py b/scripts/qmp/qmp.py index 779332f..70e927e 100644 --- a/scripts/qmp/qmp.py +++ b/scripts/qmp/qmp.py @@ -11,6 +11,7 @@ import json import errno import socket +import sys class QMPError(Exception): pass @@ -25,7 +26,7 @@ class QMPTimeoutError(QMPError): pass class QEMUMonitorProtocol: - def __init__(self, address, server=False): + def __init__(self, address, server=False, debug=False): """ Create a QEMUMonitorProtocol class. @@ -39,6 +40,7 @@ class QEMUMonitorProtocol: """ self.__events = [] self.__address = address + self._debug = debug self.__sock = self.__get_sock() if server: self.__sock.bind(self.__address) @@ -68,6 +70,8 @@ class QEMUMonitorProtocol: return resp = json.loads(data) if 'event' in resp: + if self._debug: + print >>sys.stderr, "QMP:<<< %s" % resp self.__events.append(resp) if not only_event: continue @@ -148,13 +152,18 @@ class QEMUMonitorProtocol: @return QMP response as a Python dict or None if the connection has been closed """ + if self._debug: + print >>sys.stderr, "QMP:>>> %s" % qmp_cmd try: self.__sock.sendall(json.dumps(qmp_cmd)) except socket.error as err: if err[0] == errno.EPIPE: return raise socket.error(err) - return self.__json_read() + resp = self.__json_read() + if self._debug: + print >>sys.stderr, "QMP:<<< %s" % resp + return resp def cmd(self, name, args=None, id=None): """ |