scripts/qmp-shell: convert usage comment to docstring
The nice usage comment should be a docstring instead of a comment, so that it's visible from other python tooling. Signed-off-by: John Snow <jsnow@redhat.com> Message-id: 20210607200649.1840382-37-jsnow@redhat.com Signed-off-by: John Snow <jsnow@redhat.com>
This commit is contained in:
		
							parent
							
								
									26d3ce9e5e
								
							
						
					
					
						commit
						7fc29896d2
					
				| @ -1,7 +1,5 @@ | ||||
| #!/usr/bin/env python3 | ||||
| # | ||||
| # Low-level QEMU shell on top of QMP. | ||||
| # | ||||
| # Copyright (C) 2009, 2010 Red Hat Inc. | ||||
| # | ||||
| # Authors: | ||||
| @ -10,60 +8,78 @@ | ||||
| # This work is licensed under the terms of the GNU GPL, version 2.  See | ||||
| # the COPYING file in the top-level directory. | ||||
| # | ||||
| # Usage: | ||||
| # | ||||
| # Start QEMU with: | ||||
| # | ||||
| # # qemu [...] -qmp unix:./qmp-sock,server | ||||
| # | ||||
| # Run the shell: | ||||
| # | ||||
| # $ qmp-shell ./qmp-sock | ||||
| # | ||||
| # Commands have the following format: | ||||
| # | ||||
| #    < command-name > [ arg-name1=arg1 ] ... [ arg-nameN=argN ] | ||||
| # | ||||
| # For example: | ||||
| # | ||||
| # (QEMU) device_add driver=e1000 id=net1 | ||||
| # {u'return': {}} | ||||
| # (QEMU) | ||||
| # | ||||
| # key=value pairs also support Python or JSON object literal subset notations, | ||||
| # without spaces. Dictionaries/objects {} are supported as are arrays []. | ||||
| # | ||||
| #    example-command arg-name1={'key':'value','obj'={'prop':"value"}} | ||||
| # | ||||
| # Both JSON and Python formatting should work, including both styles of | ||||
| # string literal quotes. Both paradigms of literal values should work, | ||||
| # including null/true/false for JSON and None/True/False for Python. | ||||
| # | ||||
| # | ||||
| # Transactions have the following multi-line format: | ||||
| # | ||||
| #    transaction( | ||||
| #    action-name1 [ arg-name1=arg1 ] ... [arg-nameN=argN ] | ||||
| #    ... | ||||
| #    action-nameN [ arg-name1=arg1 ] ... [arg-nameN=argN ] | ||||
| #    ) | ||||
| # | ||||
| # One line transactions are also supported: | ||||
| # | ||||
| #    transaction( action-name1 ... ) | ||||
| # | ||||
| # For example: | ||||
| # | ||||
| #     (QEMU) transaction( | ||||
| #     TRANS> block-dirty-bitmap-add node=drive0 name=bitmap1 | ||||
| #     TRANS> block-dirty-bitmap-clear node=drive0 name=bitmap0 | ||||
| #     TRANS> ) | ||||
| #     {"return": {}} | ||||
| #     (QEMU) | ||||
| # | ||||
| # Use the -v and -p options to activate the verbose and pretty-print options, | ||||
| # which will echo back the properly formatted JSON-compliant QMP that is being | ||||
| # sent to QEMU, which is useful for debugging and documentation generation. | ||||
| 
 | ||||
| """ | ||||
| Low-level QEMU shell on top of QMP. | ||||
| 
 | ||||
| usage: qmp-shell [-h] [-H] [-N] [-v] [-p] qmp_server | ||||
| 
 | ||||
| positional arguments: | ||||
|   qmp_server            < UNIX socket path | TCP address:port > | ||||
| 
 | ||||
| optional arguments: | ||||
|   -h, --help            show this help message and exit | ||||
|   -H, --hmp             Use HMP interface | ||||
|   -N, --skip-negotiation | ||||
|                         Skip negotiate (for qemu-ga) | ||||
|   -v, --verbose         Verbose (echo commands sent and received) | ||||
|   -p, --pretty          Pretty-print JSON | ||||
| 
 | ||||
| 
 | ||||
| Start QEMU with: | ||||
| 
 | ||||
| # qemu [...] -qmp unix:./qmp-sock,server | ||||
| 
 | ||||
| Run the shell: | ||||
| 
 | ||||
| $ qmp-shell ./qmp-sock | ||||
| 
 | ||||
| Commands have the following format: | ||||
| 
 | ||||
|    < command-name > [ arg-name1=arg1 ] ... [ arg-nameN=argN ] | ||||
| 
 | ||||
| For example: | ||||
| 
 | ||||
| (QEMU) device_add driver=e1000 id=net1 | ||||
| {'return': {}} | ||||
| (QEMU) | ||||
| 
 | ||||
| key=value pairs also support Python or JSON object literal subset notations, | ||||
| without spaces. Dictionaries/objects {} are supported as are arrays []. | ||||
| 
 | ||||
|    example-command arg-name1={'key':'value','obj'={'prop':"value"}} | ||||
| 
 | ||||
| Both JSON and Python formatting should work, including both styles of | ||||
| string literal quotes. Both paradigms of literal values should work, | ||||
| including null/true/false for JSON and None/True/False for Python. | ||||
| 
 | ||||
| 
 | ||||
| Transactions have the following multi-line format: | ||||
| 
 | ||||
|    transaction( | ||||
|    action-name1 [ arg-name1=arg1 ] ... [arg-nameN=argN ] | ||||
|    ... | ||||
|    action-nameN [ arg-name1=arg1 ] ... [arg-nameN=argN ] | ||||
|    ) | ||||
| 
 | ||||
| One line transactions are also supported: | ||||
| 
 | ||||
|    transaction( action-name1 ... ) | ||||
| 
 | ||||
| For example: | ||||
| 
 | ||||
|     (QEMU) transaction( | ||||
|     TRANS> block-dirty-bitmap-add node=drive0 name=bitmap1 | ||||
|     TRANS> block-dirty-bitmap-clear node=drive0 name=bitmap0 | ||||
|     TRANS> ) | ||||
|     {"return": {}} | ||||
|     (QEMU) | ||||
| 
 | ||||
| Use the -v and -p options to activate the verbose and pretty-print options, | ||||
| which will echo back the properly formatted JSON-compliant QMP that is being | ||||
| sent to QEMU, which is useful for debugging and documentation generation. | ||||
| """ | ||||
| 
 | ||||
| import argparse | ||||
| import ast | ||||
| import json | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 John Snow
						John Snow