python: futurize -f libfuturize.fixes.fix_print_with_import

Change all Python code to use print as a function.

This is necessary for Python 3 compatibility.

Done using:

  $ py=$( (g grep -l -E '^#!.*python';find -name '*.py' -printf '%P\n';) | \
    sort -u | grep -v README.sh4)
  $ futurize -w -f libfuturize.fixes.fix_print_with_import $py

Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Acked-by: Fam Zheng <famz@redhat.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Message-Id: <20180608122952.2009-2-ehabkost@redhat.com>
[ehabkost: fixup tests/docker/docker.py]
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
This commit is contained in:
Eduardo Habkost 2018-06-08 09:29:43 -03:00
parent 0d2fa03dae
commit f03868bd56
32 changed files with 281 additions and 256 deletions

View file

@ -20,6 +20,7 @@
# Exercise the QEMU 'luks' block driver to validate interoperability
# with the Linux dm-crypt + cryptsetup implementation
from __future__ import print_function
import subprocess
import os
import os.path
@ -376,7 +377,7 @@ def test_once(config, qemu_img=False):
finally:
iotests.log("# Delete image")
delete_image(config)
print
print()
# Obviously we only work with the luks image format

View file

@ -18,6 +18,7 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
from __future__ import print_function
import os
import re
import iotests
@ -85,7 +86,7 @@ class TestPersistentDirtyBitmap(iotests.QMPTestCase):
log = re.sub(r'^\[I \d+\.\d+\] OPENED\n', '', log)
log = re.sub(r'\[I \+\d+\.\d+\] CLOSED\n?$', '', log)
if log:
print log
print(log)
self.vm = self.mkVm()
self.vm.launch()

View file

@ -1,3 +1,4 @@
from __future__ import print_function
# Common utilities and Python wrappers for qemu-iotests
#
# Copyright (C) 2012 IBM Corp.
@ -239,7 +240,7 @@ def filter_img_info(output, filename):
def log(msg, filters=[]):
for flt in filters:
msg = flt(msg)
print msg
print(msg)
class Timeout:
def __init__(self, seconds, errmsg = "Timeout"):
@ -599,7 +600,7 @@ def notrun(reason):
seq = os.path.basename(sys.argv[0])
open('%s/%s.notrun' % (output_dir, seq), 'wb').write(reason + '\n')
print '%s not run: %s' % (seq, reason)
print('%s not run: %s' % (seq, reason))
sys.exit(0)
def verify_image_format(supported_fmts=[], unsupported_fmts=[]):

View file

@ -43,6 +43,7 @@
# This work is licensed under the terms of the GNU GPL, version 2 or later.
# See the COPYING file in the top-level directory.
from __future__ import print_function
import sys
import socket
import struct
@ -110,7 +111,7 @@ class FaultInjectionSocket(object):
for rule in self.rules:
if rule.match(event, io):
if rule.when == 0 or bufsize is None:
print 'Closing connection on rule match %s' % rule.name
print('Closing connection on rule match %s' % rule.name)
sys.exit(0)
if rule.when != -1:
return rule.when
@ -182,7 +183,7 @@ def handle_connection(conn, use_export):
elif req.type == NBD_CMD_DISC:
break
else:
print 'unrecognized command type %#02x' % req.type
print('unrecognized command type %#02x' % req.type)
break
conn.close()
@ -242,7 +243,7 @@ def open_socket(path):
sock = socket.socket(socket.AF_UNIX)
sock.bind(path)
sock.listen(0)
print 'Listening on %s' % path
print('Listening on %s' % path)
sys.stdout.flush() # another process may be waiting, show message now
return sock

View file

@ -1,5 +1,6 @@
#!/usr/bin/env python
from __future__ import print_function
import sys
import struct
import string
@ -129,8 +130,8 @@ class QcowHeader:
def dump(self):
for f in QcowHeader.fields:
print "%-25s" % f[2], f[1] % self.__dict__[f[2]]
print ""
print("%-25s" % f[2], f[1] % self.__dict__[f[2]])
print("")
def dump_extensions(self):
for ex in self.extensions:
@ -141,11 +142,11 @@ class QcowHeader:
else:
data = "<binary>"
print "Header extension:"
print "%-25s %#x" % ("magic", ex.magic)
print "%-25s %d" % ("length", ex.length)
print "%-25s %s" % ("data", data)
print ""
print("Header extension:")
print("%-25s %#x" % ("magic", ex.magic))
print("%-25s %d" % ("length", ex.length))
print("%-25s %s" % ("data", data))
print("")
def cmd_dump_header(fd):
@ -157,12 +158,12 @@ def cmd_set_header(fd, name, value):
try:
value = int(value, 0)
except:
print "'%s' is not a valid number" % value
print("'%s' is not a valid number" % value)
sys.exit(1)
fields = (field[2] for field in QcowHeader.fields)
if not name in fields:
print "'%s' is not a known header field" % name
print("'%s' is not a known header field" % name)
sys.exit(1)
h = QcowHeader(fd)
@ -173,7 +174,7 @@ def cmd_add_header_ext(fd, magic, data):
try:
magic = int(magic, 0)
except:
print "'%s' is not a valid magic number" % magic
print("'%s' is not a valid magic number" % magic)
sys.exit(1)
h = QcowHeader(fd)
@ -188,7 +189,7 @@ def cmd_del_header_ext(fd, magic):
try:
magic = int(magic, 0)
except:
print "'%s' is not a valid magic number" % magic
print("'%s' is not a valid magic number" % magic)
sys.exit(1)
h = QcowHeader(fd)
@ -200,7 +201,7 @@ def cmd_del_header_ext(fd, magic):
h.extensions.remove(ex)
if not found:
print "No such header extension"
print("No such header extension")
return
h.update(fd)
@ -211,7 +212,7 @@ def cmd_set_feature_bit(fd, group, bit):
if bit < 0 or bit >= 64:
raise ValueError
except:
print "'%s' is not a valid bit number in range [0, 64)" % bit
print("'%s' is not a valid bit number in range [0, 64)" % bit)
sys.exit(1)
h = QcowHeader(fd)
@ -222,7 +223,7 @@ def cmd_set_feature_bit(fd, group, bit):
elif group == 'autoclear':
h.autoclear_features |= 1 << bit
else:
print "'%s' is not a valid group, try 'incompatible', 'compatible', or 'autoclear'" % group
print("'%s' is not a valid group, try 'incompatible', 'compatible', or 'autoclear'" % group)
sys.exit(1)
h.update(fd)
@ -248,16 +249,16 @@ def main(filename, cmd, args):
else:
handler(fd, *args)
return
print "Unknown command '%s'" % cmd
print("Unknown command '%s'" % cmd)
finally:
fd.close()
def usage():
print "Usage: %s <file> <cmd> [<arg>, ...]" % sys.argv[0]
print ""
print "Supported commands:"
print("Usage: %s <file> <cmd> [<arg>, ...]" % sys.argv[0])
print("")
print("Supported commands:")
for name, handler, num_args, desc in cmds:
print " %-20s - %s" % (name, desc)
print(" %-20s - %s" % (name, desc))
if __name__ == '__main__':
if len(sys.argv) < 3:

View file

@ -10,6 +10,7 @@
# This work is licensed under the terms of the GNU GPL, version 2 or later.
# See the COPYING file in the top-level directory.
from __future__ import print_function
import sys
import struct
import random
@ -108,12 +109,12 @@ def corrupt_table_invalidate(qed, table):
def cmd_show(qed, *args):
'''show [header|l1|l2 <offset>]- Show header or l1/l2 tables'''
if not args or args[0] == 'header':
print qed.header
print(qed.header)
elif args[0] == 'l1':
print qed.l1_table
print(qed.l1_table)
elif len(args) == 2 and args[0] == 'l2':
offset = int(args[1])
print qed.read_table(offset)
print(qed.read_table(offset))
else:
err('unrecognized sub-command')
@ -146,7 +147,7 @@ def cmd_invalidate(qed, table_level):
def cmd_need_check(qed, *args):
'''need-check [on|off] - Test, set, or clear the QED_F_NEED_CHECK header bit'''
if not args:
print bool(qed.header['features'] & QED_F_NEED_CHECK)
print(bool(qed.header['features'] & QED_F_NEED_CHECK))
return
if args[0] == 'on':
@ -208,11 +209,11 @@ def cmd_copy_metadata(qed, outfile):
out.close()
def usage():
print 'Usage: %s <file> <cmd> [<arg>, ...]' % sys.argv[0]
print
print 'Supported commands:'
print('Usage: %s <file> <cmd> [<arg>, ...]' % sys.argv[0])
print()
print('Supported commands:')
for cmd in sorted(x for x in globals() if x.startswith('cmd_')):
print globals()[cmd].__doc__
print(globals()[cmd].__doc__)
sys.exit(1)
def main():