Use print as a function for Python 3 [PEP 3105]

Import print_function from the __future__ module
to activate this for Python 2.  This works as far back as Python 2.6.0a2:
   https://docs.python.org/2/library/__future__.html

[PEP 3105] https://www.python.org/dev/peps/pep-3105/
This commit is contained in:
Craig Rodrigues 2015-11-19 00:01:52 +00:00
parent 3fbd30d495
commit 749f65e3e3
5 changed files with 57 additions and 53 deletions

View File

@ -26,6 +26,7 @@
#
# $FreeBSD$
from __future__ import print_function
import sys
import os
import popen2
@ -42,7 +43,7 @@
kld_debug_paths = []
if len(sys.argv[1:]) < 2:
print 'Usage: prog <kerncomp> <core> [<paths>]'
print('Usage: prog <kerncomp> <core> [<paths>]')
sys.exit(1)
#Get the base modules path
@ -129,7 +130,7 @@ def get_addresses(inp, out):
#Tell our user that we couldn't find it.
a = i[1]
sys.stderr.write("Can't find module: %s (addr: %d + header)\n" % (i[0], a))
print '#add-symbol-file <file>', a, '#add header'
print('#add-symbol-file <file>', a, '#add header')
continue
#j = popen2.popen4('objdump --section-headers /boot/kernel/%s | grep "\.text"' % i[0])[0].read().strip().split()
@ -137,6 +138,6 @@ def get_addresses(inp, out):
j = popen2.popen4('objdump --section-headers "%s" | grep "\.text"' % p)[0].read().strip().split()
try:
a = int(j[5], 16)
print 'add-symbol-file', p, i[1] + a
print('add-symbol-file', p, i[1] + a)
except IndexError:
sys.stderr.write('Bad file: %s, address: %d\n' % (i[0], i[1]))

View File

@ -27,6 +27,7 @@
# code. It will push 200000 packets, then report back what the min and max
# periods it saw for different IDs were.
from __future__ import print_function
import os
import signal
import subprocess

View File

@ -26,6 +26,7 @@
#
# $FreeBSD$
from __future__ import print_function
import sys
import re
import random
@ -142,7 +143,7 @@ def lookup(self, name):
color = self.map[name]
except:
color = colors[random.randrange(0, len(colors))]
print "Picking random color", color, "for", name
print("Picking random color", color, "for", name)
self.map[name] = color
self.table.append((name, color))
return (color)
@ -736,9 +737,9 @@ def draw(self, canvas, xpos, ypos):
color = colormap.lookup(self.name)
if (duration < 0):
duration = 0
print "Unsynchronized timestamp"
print self.cpu, self.timestamp
print next.cpu, next.timestamp
print("Unsynchronized timestamp")
print(self.cpu, self.timestamp)
print(next.cpu, next.timestamp)
delta = duration / canvas.ratio
l = canvas.create_rectangle(xpos, ypos,
xpos + delta, ypos - 10, fill=color, width=0,
@ -762,9 +763,9 @@ def draw(self, canvas, xpos, ypos):
self.duration = duration = next.timestamp - self.timestamp
if (duration < 0):
duration = 0
print "Unsynchronized timestamp"
print self.cpu, self.timestamp
print next.cpu, next.timestamp
print("Unsynchronized timestamp")
print(self.cpu, self.timestamp)
print(next.cpu, next.timestamp)
self.attrs.insert(0, ("count", self.count))
self.attrs.insert(1, ("duration", ticks2sec(duration)))
delta = duration / canvas.ratio
@ -941,7 +942,7 @@ def parse(self, file):
try:
ifp = open(file)
except:
print "Can't open", file
print("Can't open", file)
sys.exit(1)
# quoteexp matches a quoted string, no escaping
@ -989,14 +990,14 @@ def parse(self, file):
status.startup("Parsing line " + str(lineno))
m = ktrre.match(line);
if (m == None):
print "Can't parse", lineno, line,
print("Can't parse", lineno, line, end=' ')
continue;
(index, cpu, timestamp, group, id, type, dat, dat1, attrstring) = m.groups();
if (dat == None):
dat = dat1
if (self.checkstamp(timestamp) == 0):
print "Bad timestamp at", lineno, ":",
print cpu, timestamp
print("Bad timestamp at", lineno, ":", end=' ')
print(cpu, timestamp)
continue
#
# Build the table of optional attributes
@ -1032,7 +1033,7 @@ def parse(self, file):
args = (dat, cpu, timestamp, attrs)
e = self.makeevent(group, id, type, args)
if (e == None):
print "Unknown type", type, lineno, line,
print("Unknown type", type, lineno, line, end=' ')
def makeevent(self, group, id, type, args):
e = None
@ -1098,9 +1099,9 @@ def ticksps(self):
if (self.stathz != 0):
return (self.timespan() / self.ticks[0]) * int(self.stathz)
# Pretend we have a 1ns clock
print "WARNING: No clock discovered and no frequency ",
print "specified via the command line."
print "Using fake 1ghz clock"
print("WARNING: No clock discovered and no frequency ", end=' ')
print("specified via the command line.")
print("Using fake 1ghz clock")
return (oneghz);
def fixup(self):
@ -1624,7 +1625,7 @@ def getstate(self, tag):
return self.display.getstate(tag)
if (len(sys.argv) != 2 and len(sys.argv) != 3):
print "usage:", sys.argv[0], "<ktr file> [clock freq in ghz]"
print("usage:", sys.argv[0], "<ktr file> [clock freq in ghz]")
sys.exit(1)
if (len(sys.argv) > 2):

View File

@ -26,6 +26,7 @@
#
# $FreeBSD$
from __future__ import print_function
import os
import sys
import re
@ -78,7 +79,7 @@ class App(object):
def warn(cond, msg):
if cond:
print >> sys.stderr, "WARN: " + msg
print("WARN: " + msg, file=sys.stderr)
# {{{ misc
@ -694,12 +695,12 @@ def lookup(sym):
(sym.name_ver, self.libfile, sym.offset))
continue
if Config.verbose >= 3:
print "Parsing symbol %s (%s)" % (sym.name_ver, self.libfile)
print("Parsing symbol %s (%s)" % (sym.name_ver, self.libfile))
sym.definition = dwarf.build(raw)
def parse(self):
if not os.path.isfile(self.libfile):
print >> sys.stderr, ("No such file: %s" % self.libfile)
print("No such file: %s" % self.libfile, file=sys.stderr)
sys.exit(1)
self.parse_objdump()
self.parse_dwarfdump()
@ -722,7 +723,7 @@ def run(self):
self.parser(line)
err = fd.close()
if err:
print >> sys.stderr, ("Execution failed: %s" % self.proc)
print("Execution failed: %s" % self.proc, file=sys.stderr)
sys.exit(2)
def parse_begin(self, line):
@ -964,16 +965,16 @@ def common_symbols(origlib, newlib):
result = []
verdiff = ListDiff(origlib.versions.keys(), newlib.versions.keys())
if Config.verbose >= 1:
print 'Original versions: ', list_str(verdiff.orig)
print 'New versions: ', list_str(verdiff.new)
print('Original versions: ', list_str(verdiff.orig))
print('New versions: ', list_str(verdiff.new))
for vername in verdiff.added:
print 'Added version: ', vername
print ' Added symbols: ', \
names_ver_str(vername, newlib.versions[vername].names())
print('Added version: ', vername)
print(' Added symbols: ', \
names_ver_str(vername, newlib.versions[vername].names()))
for vername in verdiff.removed:
print 'Removed version: ', vername
print ' Removed symbols: ', \
names_ver_str(vername, origlib.versions[vername].names())
print('Removed version: ', vername)
print(' Removed symbols: ', \
names_ver_str(vername, origlib.versions[vername].names()))
added = []
removed = []
for vername in verdiff.common:
@ -990,13 +991,13 @@ def common_symbols(origlib, newlib):
sym = CommonSymbol(origver.symbols[n], newver.symbols[n])
commonver.append(sym)
if added:
print 'Added symbols:'
print('Added symbols:')
for i in added:
print ' ', i
print(' ', i)
if removed:
print 'Removed symbols:'
print('Removed symbols:')
for i in removed:
print ' ', i
print(' ', i)
return result
def cmp_symbols(commonver):
@ -1011,27 +1012,27 @@ def cmp_symbols(commonver):
App.result_code = 1
if Config.verbose >= 1 or not match:
if missing:
print '%s: missing definition' % \
(sym.origsym.name_ver,)
print('%s: missing definition' % \
(sym.origsym.name_ver,))
continue
print '%s: definitions %smatch' % \
(sym.origsym.name_ver, "" if match else "mis")
print('%s: definitions %smatch' % \
(sym.origsym.name_ver, "" if match else "mis"))
if Config.dump or (not match and not Config.no_dump):
for x in [(sym.origsym, Config.origfile),
(sym.newsym, Config.newfile)]:
xsym = x[0]
xout = x[1].out
if not xsym.definition:
print >> xout, '\n// Definition not found: %s %s' % \
(xsym.name_ver, xsym.lib.libfile)
print('\n// Definition not found: %s %s' % \
(xsym.name_ver, xsym.lib.libfile), file=xout)
continue
print >> xout, '\n// Definitions mismatch: %s %s' % \
(xsym.name_ver, xsym.lib.libfile)
print('\n// Definitions mismatch: %s %s' % \
(xsym.name_ver, xsym.lib.libfile), file=xout)
pp = PrettyPrinter()
pp.run(xsym.definition)
for i in pp.nested():
print >> xout, i
print >> xout, pp.result()
print(i, file=xout)
print(pp.result(), file=xout)
def dump_symbols(commonver):
class SymbolDump(object):
@ -1043,13 +1044,13 @@ def run(self, sym):
r = self.pp.run(sym.definition)
self.res.append('/* %s@%s */ %s' % (sym.name, sym.version, r))
def finish(self):
print >> self.io_conf.out, '\n// Symbol dump: version %s, library %s' % \
(ver.name, self.io_conf.filename)
print('\n// Symbol dump: version %s, library %s' % \
(ver.name, self.io_conf.filename), file=self.io_conf.out)
for i in self.pp.nested():
print >> self.io_conf.out, i
print >> self.io_conf.out, ''
print(i, file=self.io_conf.out)
print('', file=self.io_conf.out)
for i in self.res:
print >> self.io_conf.out, i
print(i, file=self.io_conf.out)
for ver in commonver:
names = sorted(ver.names());
d_orig = SymbolDump(Config.origfile)
@ -1150,7 +1151,7 @@ def finish(self):
dump_symbols(commonver)
cmp_symbols(commonver)
if Config.verbose >= 4:
print Dwarf.cmpcache.stats.show('Cmp')
print DwarfdumpParser.tagcache_stats.show('Dwarf tag')
print(Dwarf.cmpcache.stats.show('Cmp'))
print(DwarfdumpParser.tagcache_stats.show('Dwarf tag'))
sys.exit(App.result_code)

View File

@ -3,7 +3,7 @@
# $FreeBSD$
#
# an aggressive little script for trimming duplicate cookies
from __future__ import print_function
import argparse
import re