mirror of
				https://github.com/qemu/qemu.git
				synced 2025-10-30 19:15:42 +00:00 
			
		
		
		
	 c7b942d7f8
			
		
	
	
		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)
 |