python: create qemu packages
move python/qemu/*.py to python/qemu/[machine, qmp, utils]/*.py and
update import directives across the tree.
This is done to create a PEP420 namespace package, in which we may
create subpackages. To do this, the namespace directory ("qemu") should
not have any modules in it. Those files will go into new 'machine',
'qmp' and 'utils' subpackages instead.
Implement machine/__init__.py making the top-level classes and functions
from its various modules available directly inside the package. Change
qmp.py to qmp/__init__.py similarly, such that all of the useful QMP
library classes are available directly from "qemu.qmp" instead of
"qemu.qmp.qmp".
Signed-off-by: John Snow <jsnow@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: Cleber Rosa <crosa@redhat.com>
Message-id: 20210527211715.394144-10-jsnow@redhat.com
Signed-off-by: John Snow <jsnow@redhat.com>
This commit is contained in:
parent
7f0a143b0c
commit
beb6b57b3b
17 changed files with 83 additions and 32 deletions
|
|
@ -1,33 +0,0 @@
|
|||
"""
|
||||
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
|
||||
Loading…
Add table
Add a link
Reference in a new issue