 976218cbe7
			
		
	
	
		976218cbe7
		
	
	
	
	
		
			
			Slightly different versions for the same utility code are currently present on different locations. This unifies them all, giving preference to the version from virtiofs_submounts.py, because of the last tweaks added to it. While at it, this adds a "qemu.utils" module to host the utility function and a test. Signed-off-by: Cleber Rosa <crosa@redhat.com> Reviewed-by: Wainer dos Santos Moschetta <wainersm@redhat.com> Reviewed-by: Eric Auger <eric.auger@redhat.com> Reviewed-by: Willian Rampazzo <willianr@redhat.com> Message-Id: <20210412044644.55083-4-crosa@redhat.com> Signed-off-by: John Snow <jsnow@redhat.com> [Squashed in below fix. --js] Signed-off-by: John Snow <jsnow@redhat.com> Signed-off-by: Cleber Rosa <crosa@redhat.com> Message-Id: <20210601154546.130870-2-crosa@redhat.com> Signed-off-by: John Snow <jsnow@redhat.com>
		
			
				
	
	
		
			34 lines
		
	
	
		
			938 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			938 B
		
	
	
	
		
			Python
		
	
	
	
	
	
| """
 | |
| QEMU utility library
 | |
| 
 | |
| This offers miscellaneous utility functions, which may not be easily
 | |
| distinguishable or numerous to be in their own module.
 | |
| """
 | |
| 
 | |
| # Copyright (C) 2021 Red Hat Inc.
 | |
| #
 | |
| # Authors:
 | |
| #  Cleber Rosa <crosa@redhat.com>
 | |
| #
 | |
| # This work is licensed under the terms of the GNU GPL, version 2.  See
 | |
| # the COPYING file in the top-level directory.
 | |
| #
 | |
| 
 | |
| import re
 | |
| from typing import Optional
 | |
| 
 | |
| 
 | |
| def get_info_usernet_hostfwd_port(info_usernet_output: str) -> Optional[int]:
 | |
|     """
 | |
|     Returns the port given to the hostfwd parameter via info usernet
 | |
| 
 | |
|     :param info_usernet_output: output generated by hmp command "info usernet"
 | |
|     :return: the port number allocated by the hostfwd option
 | |
|     """
 | |
|     for line in info_usernet_output.split('\r\n'):
 | |
|         regex = r'TCP.HOST_FORWARD.*127\.0\.0\.1\s+(\d+)\s+10\.'
 | |
|         match = re.search(regex, line)
 | |
|         if match is not None:
 | |
|             return int(match[1])
 | |
|     return None
 |