Annotation of qemu/QMP/qom-set, revision 1.1

1.1     ! root        1: #!/usr/bin/python
        !             2: ##
        !             3: # QEMU Object Model test tools
        !             4: #
        !             5: # Copyright IBM, Corp. 2011
        !             6: #
        !             7: # Authors:
        !             8: #  Anthony Liguori   <[email protected]>
        !             9: #
        !            10: # This work is licensed under the terms of the GNU GPL, version 2 or later.  See
        !            11: # the COPYING file in the top-level directory.
        !            12: ##
        !            13: 
        !            14: import sys
        !            15: import os
        !            16: from qmp import QEMUMonitorProtocol
        !            17: 
        !            18: cmd, args = sys.argv[0], sys.argv[1:]
        !            19: socket_path = None
        !            20: path = None
        !            21: prop = None
        !            22: value = None
        !            23: 
        !            24: def usage():
        !            25:     return '''environment variables:
        !            26:     QMP_SOCKET=<path | addr:port>
        !            27: usage:
        !            28:     %s [-h] [-s <QMP socket path | addr:port>] <path>.<property> <value>
        !            29: ''' % cmd
        !            30: 
        !            31: def usage_error(error_msg = "unspecified error"):
        !            32:     sys.stderr.write('%s\nERROR: %s\n' % (usage(), error_msg))
        !            33:     exit(1)
        !            34: 
        !            35: if len(args) > 0:
        !            36:     if args[0] == "-h":
        !            37:         print usage()
        !            38:         exit(0);
        !            39:     elif args[0] == "-s":
        !            40:         try:
        !            41:             socket_path = args[1]
        !            42:         except:
        !            43:             usage_error("missing argument: QMP socket path or address");
        !            44:         args = args[2:]
        !            45: 
        !            46: if not socket_path:
        !            47:     if os.environ.has_key('QMP_SOCKET'):
        !            48:         socket_path = os.environ['QMP_SOCKET']
        !            49:     else:
        !            50:         usage_error("no QMP socket path or address given");
        !            51: 
        !            52: if len(args) > 1:
        !            53:     try:
        !            54:         path, prop = args[0].rsplit('.', 1)
        !            55:     except:
        !            56:         usage_error("invalid format for path/property/value")
        !            57:     value = args[1]
        !            58: else:
        !            59:     usage_error("not enough arguments")
        !            60: 
        !            61: srv = QEMUMonitorProtocol(socket_path)
        !            62: srv.connect()
        !            63: 
        !            64: print srv.command('qom-set', path=path, property=prop, value=sys.argv[2])

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.