""" QEMU development and testing utilities This package provides a small handful of utilities for performing various tasks not directly related to the launching of a VM. """ # Copyright (C) 2021 Red Hat Inc. # # Authors: # John Snow # Cleber Rosa # # 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 # pylint: disable=import-error from .accel import kvm_available, list_accel, tcg_available __all__ = ( 'get_info_usernet_hostfwd_port', 'kvm_available', 'list_accel', 'tcg_available', ) 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