--- a/eek/gen-keysym-entries.py +++ b/eek/gen-keysym-entries.py @@ -18,17 +18,20 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA +from __future__ import print_function import sys import re if len(sys.argv) != 2: - print >> sys.stderr, "Usage: %s TABLE-NAME" % sys.argv[0] + print("Usage: %s TABLE-NAME" % sys.argv[0], file=sys.stderr) sys.exit(-1) +py2 = sys.version_info[0] < 3 table = dict() for line in sys.stdin: - line = line.decode('UTF-8') - match = re.match(r'\s*(0x[0-9A-F]+)\s+(\S*)\s+(\S*)', line, re.I) + if py2: + line = line.decode('UTF-8') + match = re.match(r'\s*(0x[0-9A-F]+)\s+(\w*)\s+(\w*)', line, re.I) if match: table[int(match.group(1), 16)] = (match.group(2), match.group(3)) @@ -37,8 +40,10 @@ for index, (keysym, (l, c)) in enumerate([(keysym, table[keysym]) for keysym in sorted(table.keys())]): - sys.stdout.write(" { 0x%X, %s, %s }" % - (keysym, l.encode('UTF-8'), c.encode('UTF-8'))) + if py2: + l = l.encode('UTF-8') + c = c.encode('UTF-8') + sys.stdout.write(" { 0x%X, %s, %s }" % (keysym, l, c)) if index < len(table) - 1: sys.stdout.write(",") sys.stdout.write("\n")