-#!/usr/bin/env python
+#!/usr/bin/python
-from __future__ import print_function
import sys, os, re, difflib, unicodedata, errno, cgi
from itertools import *
diff_symbols = "-+=*&^%$#@!~/"
diff_colors = ['red', 'green', 'blue']
-if sys.version_info[0] >= 3:
- unichr = chr
-
class ColorFormatter:
class Null:
sys.stdout.writelines ([symbols[i], l])
except IOError as e:
if e.errno != errno.EPIPE:
- print ("%s: %s: %s" % (sys.argv[0], e.filename, e.strerror), file=sys.stderr)
+ print >> sys.stderr, "%s: %s: %s" % (sys.argv[0], e.filename, e.strerror)
sys.exit (1)
else:
failed += 1
total = passed + failed
- print ("%d out of %d tests passed. %d failed (%g%%)" % (passed, total, failed, 100. * failed / total))
+ print "%d out of %d tests passed. %d failed (%g%%)" % (passed, total, failed, 100. * failed / total)
@staticmethod
def print_ngrams (f, ns=(1,2,3)):
del importantgrams
for ngram, stats in allgrams.iteritems ():
- print ("zscore: %9f failed: %6d passed: %6d ngram: <%s>" % (stats.zscore (allstats), stats.failed.count, stats.passed.count, ','.join ("U+%04X" % u for u in ngram)))
+ print "zscore: %9f failed: %6d passed: %6d ngram: <%s>" % (stats.zscore (allstats), stats.failed.count, stats.passed.count, ','.join ("U+%04X" % u for u in ngram))
def filter_printer_function (filter_callback):
def printer (f):
for line in filter_callback (f):
- print (line)
+ print line
return printer
@staticmethod
def process_multiple_files (callback, mnemonic = "FILE"):
if "--help" in sys.argv:
- print ("Usage: %s %s..." % (sys.argv[0], mnemonic))
+ print "Usage: %s %s..." % (sys.argv[0], mnemonic)
sys.exit (1)
try:
callback (FileHelpers.open_file_or_stdin (s))
except IOError as e:
if e.errno != errno.EPIPE:
- print ("%s: %s: %s" % (sys.argv[0], e.filename, e.strerror), file=sys.stderr)
+ print >> sys.stderr, "%s: %s: %s" % (sys.argv[0], e.filename, e.strerror)
sys.exit (1)
@staticmethod
def process_multiple_args (callback, mnemonic):
if len (sys.argv) == 1 or "--help" in sys.argv:
- print ("Usage: %s %s..." % (sys.argv[0], mnemonic))
+ print "Usage: %s %s..." % (sys.argv[0], mnemonic)
sys.exit (1)
try:
callback (s)
except IOError as e:
if e.errno != errno.EPIPE:
- print ("%s: %s: %s" % (sys.argv[0], e.filename, e.strerror), file=sys.stderr)
+ print >> sys.stderr, "%s: %s: %s" % (sys.argv[0], e.filename, e.strerror)
sys.exit (1)
@staticmethod
concat_separator = False):
if "--help" in sys.argv:
- print ("Usage:\n %s %s...\nor:\n %s\n\nWhen called with no arguments, input is read from standard input." \
- % (sys.argv[0], mnemonic, sys.argv[0]))
+ print "Usage:\n %s %s...\nor:\n %s\n\nWhen called with no arguments, input is read from standard input." \
+ % (sys.argv[0], mnemonic, sys.argv[0])
sys.exit (1)
try:
break
if line[-1] == '\n':
line = line[:-1]
- print (callback (line))
+ print callback (line)
else:
args = sys.argv[1:]
if concat_separator != False:
args = [concat_separator.join (args)]
- print (separator.join (callback (x) for x in (args)))
+ print separator.join (callback (x) for x in (args))
except IOError as e:
if e.errno != errno.EPIPE:
- print ("%s: %s: %s" % (sys.argv[0], e.filename, e.strerror), file=sys.stderr)
+ print >> sys.stderr, "%s: %s: %s" % (sys.argv[0], e.filename, e.strerror)
sys.exit (1)
@staticmethod
def parse (s):
s = re.sub (r"0[xX]", " ", s)
- s = re.sub (r"[<+>{},;&#\\xXuUnNiI\n ]", " ", s)
+ s = re.sub (r"[<+>,;&#\\xXuU\n ]", " ", s)
return [int (x, 16) for x in s.split ()]
@staticmethod
def encode (s):
- s = u''.join (unichr (x) for x in Unicode.parse (s))
- if sys.version_info[0] == 2: s = s.encode ('utf-8')
- return s
+ return u''.join (unichr (x) for x in Unicode.parse (s)).encode ('utf-8')
shorthands = {
"ZERO WIDTH NON-JOINER": "ZWNJ",
if not os.path.exists (s):
if strict:
- print ("%s: %s does not exist" % (sys.argv[0], s), file=sys.stderr)
+ print >> sys.stderr, "%s: %s does not exist" % (sys.argv[0], s)
sys.exit (1)
return
yield p
except IOError:
if strict:
- print ("%s: %s does not exist" % (sys.argv[0], os.path.join (s, "MANIFEST")), file=sys.stderr)
+ print >> sys.stderr, "%s: %s does not exist" % (sys.argv[0], os.path.join (s, "MANIFEST"))
sys.exit (1)
return
else:
dirnames.sort ()
filenames.sort ()
ms = os.path.join (dirpath, "MANIFEST")
- print (" GEN %s" % ms)
+ print " GEN %s" % ms
m = open (ms, "w")
for f in filenames:
- print (f, file=m)
+ print >> m, f
for f in dirnames:
- print (f, file=m)
+ print >> m, f
for f in dirnames:
Manifest.update_recursive (os.path.join (dirpath, f))