mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-11 03:24:58 -06:00
python: remove more instances of sys.version_info
We guarantee 3.5+ everywhere; remove more dead checks. In general, try to avoid using version checks and instead prefer to attempt behavior when possible. Signed-off-by: John Snow <jsnow@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Message-Id: <20200514035230.25756-1-jsnow@redhat.com> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
This commit is contained in:
parent
c7b942d7f8
commit
2d110c1149
5 changed files with 13 additions and 30 deletions
|
@ -25,11 +25,6 @@ import struct
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
|
|
||||||
MIN_PYTHON = (3, 2)
|
|
||||||
if sys.version_info < MIN_PYTHON:
|
|
||||||
sys.exit("Python %s.%s or later is required.\n" % MIN_PYTHON)
|
|
||||||
|
|
||||||
|
|
||||||
def mkdir_p(path):
|
def mkdir_p(path):
|
||||||
try:
|
try:
|
||||||
os.makedirs(path)
|
os.makedirs(path)
|
||||||
|
|
|
@ -75,13 +75,6 @@ def output(*args):
|
||||||
output_fd.write(a)
|
output_fd.write(a)
|
||||||
|
|
||||||
|
|
||||||
if sys.version_info >= (3, 4):
|
|
||||||
re_fullmatch = re.fullmatch
|
|
||||||
else:
|
|
||||||
def re_fullmatch(pat, str):
|
|
||||||
return re.match('^' + pat + '$', str)
|
|
||||||
|
|
||||||
|
|
||||||
def output_autogen():
|
def output_autogen():
|
||||||
output('/* This file is autogenerated by scripts/decodetree.py. */\n\n')
|
output('/* This file is autogenerated by scripts/decodetree.py. */\n\n')
|
||||||
|
|
||||||
|
@ -428,18 +421,18 @@ def parse_field(lineno, name, toks):
|
||||||
width = 0
|
width = 0
|
||||||
func = None
|
func = None
|
||||||
for t in toks:
|
for t in toks:
|
||||||
if re_fullmatch('!function=' + re_ident, t):
|
if re.fullmatch('!function=' + re_ident, t):
|
||||||
if func:
|
if func:
|
||||||
error(lineno, 'duplicate function')
|
error(lineno, 'duplicate function')
|
||||||
func = t.split('=')
|
func = t.split('=')
|
||||||
func = func[1]
|
func = func[1]
|
||||||
continue
|
continue
|
||||||
|
|
||||||
if re_fullmatch('[0-9]+:s[0-9]+', t):
|
if re.fullmatch('[0-9]+:s[0-9]+', t):
|
||||||
# Signed field extract
|
# Signed field extract
|
||||||
subtoks = t.split(':s')
|
subtoks = t.split(':s')
|
||||||
sign = True
|
sign = True
|
||||||
elif re_fullmatch('[0-9]+:[0-9]+', t):
|
elif re.fullmatch('[0-9]+:[0-9]+', t):
|
||||||
# Unsigned field extract
|
# Unsigned field extract
|
||||||
subtoks = t.split(':')
|
subtoks = t.split(':')
|
||||||
sign = False
|
sign = False
|
||||||
|
@ -488,11 +481,11 @@ def parse_arguments(lineno, name, toks):
|
||||||
flds = []
|
flds = []
|
||||||
extern = False
|
extern = False
|
||||||
for t in toks:
|
for t in toks:
|
||||||
if re_fullmatch('!extern', t):
|
if re.fullmatch('!extern', t):
|
||||||
extern = True
|
extern = True
|
||||||
anyextern = True
|
anyextern = True
|
||||||
continue
|
continue
|
||||||
if not re_fullmatch(re_ident, t):
|
if not re.fullmatch(re_ident, t):
|
||||||
error(lineno, 'invalid argument set token "{0}"'.format(t))
|
error(lineno, 'invalid argument set token "{0}"'.format(t))
|
||||||
if t in flds:
|
if t in flds:
|
||||||
error(lineno, 'duplicate argument "{0}"'.format(t))
|
error(lineno, 'duplicate argument "{0}"'.format(t))
|
||||||
|
@ -621,13 +614,13 @@ def parse_generic(lineno, is_format, name, toks):
|
||||||
continue
|
continue
|
||||||
|
|
||||||
# 'Foo=%Bar' imports a field with a different name.
|
# 'Foo=%Bar' imports a field with a different name.
|
||||||
if re_fullmatch(re_ident + '=%' + re_ident, t):
|
if re.fullmatch(re_ident + '=%' + re_ident, t):
|
||||||
(fname, iname) = t.split('=%')
|
(fname, iname) = t.split('=%')
|
||||||
flds = add_field_byname(lineno, flds, fname, iname)
|
flds = add_field_byname(lineno, flds, fname, iname)
|
||||||
continue
|
continue
|
||||||
|
|
||||||
# 'Foo=number' sets an argument field to a constant value
|
# 'Foo=number' sets an argument field to a constant value
|
||||||
if re_fullmatch(re_ident + '=[+-]?[0-9]+', t):
|
if re.fullmatch(re_ident + '=[+-]?[0-9]+', t):
|
||||||
(fname, value) = t.split('=')
|
(fname, value) = t.split('=')
|
||||||
value = int(value)
|
value = int(value)
|
||||||
flds = add_field(lineno, flds, fname, ConstField(value))
|
flds = add_field(lineno, flds, fname, ConstField(value))
|
||||||
|
@ -635,7 +628,7 @@ def parse_generic(lineno, is_format, name, toks):
|
||||||
|
|
||||||
# Pattern of 0s, 1s, dots and dashes indicate required zeros,
|
# Pattern of 0s, 1s, dots and dashes indicate required zeros,
|
||||||
# required ones, or dont-cares.
|
# required ones, or dont-cares.
|
||||||
if re_fullmatch('[01.-]+', t):
|
if re.fullmatch('[01.-]+', t):
|
||||||
shift = len(t)
|
shift = len(t)
|
||||||
fms = t.replace('0', '1')
|
fms = t.replace('0', '1')
|
||||||
fms = fms.replace('.', '0')
|
fms = fms.replace('.', '0')
|
||||||
|
@ -652,7 +645,7 @@ def parse_generic(lineno, is_format, name, toks):
|
||||||
fixedmask = (fixedmask << shift) | fms
|
fixedmask = (fixedmask << shift) | fms
|
||||||
undefmask = (undefmask << shift) | ubm
|
undefmask = (undefmask << shift) | ubm
|
||||||
# Otherwise, fieldname:fieldwidth
|
# Otherwise, fieldname:fieldwidth
|
||||||
elif re_fullmatch(re_ident + ':s?[0-9]+', t):
|
elif re.fullmatch(re_ident + ':s?[0-9]+', t):
|
||||||
(fname, flen) = t.split(':')
|
(fname, flen) = t.split(':')
|
||||||
sign = False
|
sign = False
|
||||||
if flen[0] == 's':
|
if flen[0] == 's':
|
||||||
|
|
|
@ -77,9 +77,6 @@ import re
|
||||||
sys.path.append(os.path.join(os.path.dirname(__file__), '..', '..', 'python'))
|
sys.path.append(os.path.join(os.path.dirname(__file__), '..', '..', 'python'))
|
||||||
from qemu import qmp
|
from qemu import qmp
|
||||||
|
|
||||||
if sys.version_info[0] == 2:
|
|
||||||
input = raw_input
|
|
||||||
|
|
||||||
class QMPCompleter(list):
|
class QMPCompleter(list):
|
||||||
def complete(self, text, state):
|
def complete(self, text, state):
|
||||||
for cmd in self:
|
for cmd in self:
|
||||||
|
|
|
@ -258,12 +258,13 @@ class Docker(object):
|
||||||
return self._do_kill_instances(True)
|
return self._do_kill_instances(True)
|
||||||
|
|
||||||
def _output(self, cmd, **kwargs):
|
def _output(self, cmd, **kwargs):
|
||||||
if sys.version_info[1] >= 6:
|
try:
|
||||||
return subprocess.check_output(self._command + cmd,
|
return subprocess.check_output(self._command + cmd,
|
||||||
stderr=subprocess.STDOUT,
|
stderr=subprocess.STDOUT,
|
||||||
encoding='utf-8',
|
encoding='utf-8',
|
||||||
**kwargs)
|
**kwargs)
|
||||||
else:
|
except TypeError:
|
||||||
|
# 'encoding' argument was added in 3.6+
|
||||||
return subprocess.check_output(self._command + cmd,
|
return subprocess.check_output(self._command + cmd,
|
||||||
stderr=subprocess.STDOUT,
|
stderr=subprocess.STDOUT,
|
||||||
**kwargs).decode('utf-8')
|
**kwargs).decode('utf-8')
|
||||||
|
|
|
@ -47,10 +47,7 @@ import sys
|
||||||
import socket
|
import socket
|
||||||
import struct
|
import struct
|
||||||
import collections
|
import collections
|
||||||
if sys.version_info.major >= 3:
|
|
||||||
import configparser
|
import configparser
|
||||||
else:
|
|
||||||
import ConfigParser as configparser
|
|
||||||
|
|
||||||
FAKE_DISK_SIZE = 8 * 1024 * 1024 * 1024 # 8 GB
|
FAKE_DISK_SIZE = 8 * 1024 * 1024 * 1024 # 8 GB
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue