mirror of
https://github.com/xemu-project/xemu.git
synced 2024-11-23 19:49:43 +00: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
@ -25,11 +25,6 @@ import struct
|
||||
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):
|
||||
try:
|
||||
os.makedirs(path)
|
||||
|
@ -75,13 +75,6 @@ def output(*args):
|
||||
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():
|
||||
output('/* This file is autogenerated by scripts/decodetree.py. */\n\n')
|
||||
|
||||
@ -428,18 +421,18 @@ def parse_field(lineno, name, toks):
|
||||
width = 0
|
||||
func = None
|
||||
for t in toks:
|
||||
if re_fullmatch('!function=' + re_ident, t):
|
||||
if re.fullmatch('!function=' + re_ident, t):
|
||||
if func:
|
||||
error(lineno, 'duplicate function')
|
||||
func = t.split('=')
|
||||
func = func[1]
|
||||
continue
|
||||
|
||||
if re_fullmatch('[0-9]+:s[0-9]+', t):
|
||||
if re.fullmatch('[0-9]+:s[0-9]+', t):
|
||||
# Signed field extract
|
||||
subtoks = t.split(':s')
|
||||
sign = True
|
||||
elif re_fullmatch('[0-9]+:[0-9]+', t):
|
||||
elif re.fullmatch('[0-9]+:[0-9]+', t):
|
||||
# Unsigned field extract
|
||||
subtoks = t.split(':')
|
||||
sign = False
|
||||
@ -488,11 +481,11 @@ def parse_arguments(lineno, name, toks):
|
||||
flds = []
|
||||
extern = False
|
||||
for t in toks:
|
||||
if re_fullmatch('!extern', t):
|
||||
if re.fullmatch('!extern', t):
|
||||
extern = True
|
||||
anyextern = True
|
||||
continue
|
||||
if not re_fullmatch(re_ident, t):
|
||||
if not re.fullmatch(re_ident, t):
|
||||
error(lineno, 'invalid argument set token "{0}"'.format(t))
|
||||
if t in flds:
|
||||
error(lineno, 'duplicate argument "{0}"'.format(t))
|
||||
@ -621,13 +614,13 @@ def parse_generic(lineno, is_format, name, toks):
|
||||
continue
|
||||
|
||||
# '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('=%')
|
||||
flds = add_field_byname(lineno, flds, fname, iname)
|
||||
continue
|
||||
|
||||
# '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('=')
|
||||
value = int(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,
|
||||
# required ones, or dont-cares.
|
||||
if re_fullmatch('[01.-]+', t):
|
||||
if re.fullmatch('[01.-]+', t):
|
||||
shift = len(t)
|
||||
fms = t.replace('0', '1')
|
||||
fms = fms.replace('.', '0')
|
||||
@ -652,7 +645,7 @@ def parse_generic(lineno, is_format, name, toks):
|
||||
fixedmask = (fixedmask << shift) | fms
|
||||
undefmask = (undefmask << shift) | ubm
|
||||
# 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(':')
|
||||
sign = False
|
||||
if flen[0] == 's':
|
||||
|
@ -77,9 +77,6 @@ import re
|
||||
sys.path.append(os.path.join(os.path.dirname(__file__), '..', '..', 'python'))
|
||||
from qemu import qmp
|
||||
|
||||
if sys.version_info[0] == 2:
|
||||
input = raw_input
|
||||
|
||||
class QMPCompleter(list):
|
||||
def complete(self, text, state):
|
||||
for cmd in self:
|
||||
|
@ -258,12 +258,13 @@ class Docker(object):
|
||||
return self._do_kill_instances(True)
|
||||
|
||||
def _output(self, cmd, **kwargs):
|
||||
if sys.version_info[1] >= 6:
|
||||
try:
|
||||
return subprocess.check_output(self._command + cmd,
|
||||
stderr=subprocess.STDOUT,
|
||||
encoding='utf-8',
|
||||
**kwargs)
|
||||
else:
|
||||
except TypeError:
|
||||
# 'encoding' argument was added in 3.6+
|
||||
return subprocess.check_output(self._command + cmd,
|
||||
stderr=subprocess.STDOUT,
|
||||
**kwargs).decode('utf-8')
|
||||
|
@ -47,10 +47,7 @@ import sys
|
||||
import socket
|
||||
import struct
|
||||
import collections
|
||||
if sys.version_info.major >= 3:
|
||||
import configparser
|
||||
else:
|
||||
import ConfigParser as configparser
|
||||
import configparser
|
||||
|
||||
FAKE_DISK_SIZE = 8 * 1024 * 1024 * 1024 # 8 GB
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user