Change event name generate script to be python 2/3 compatible
authorPeter Hutterer <peter.hutterer@who-t.net>
Sun, 25 Aug 2013 22:53:46 +0000 (08:53 +1000)
committerPeter Hutterer <peter.hutterer@who-t.net>
Thu, 29 Aug 2013 01:35:18 +0000 (11:35 +1000)
Python 3 doesn't have a print statement, only a print function.

Fixed with:
  2to3 make-event-names.py | git apply

Print as function requires Python 2.6 which is reasonable enough given
that even RHEL6 ships that.

Even though it's not needed for 2.6, use
from __future__ import print_function
to avoid accidentally introducing a print statement in the future.
With this line, print "blah" is now a syntax error in python 2.
This line was added manually, after the 2to3 conversion.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
libevdev/make-event-names.py

index cf56fd9701bc475632ddabf1d2bb5704bbd45eb7..018a22898dd13e92c3e9839d1bd54abea47ca9ae 100755 (executable)
@@ -4,6 +4,7 @@
 # mapping table
 #
 
+from __future__ import print_function
 import re
 import sys
 import argparse
@@ -43,66 +44,66 @@ blacklist = [
 def print_bits(bits, prefix):
        if  not hasattr(bits, prefix):
                return
-       print "static const char * const %s_map[%s_MAX + 1] = {" % (prefix, prefix.upper())
-       print " [0 ... %s_MAX] = NULL," % prefix.upper()
-       for val, name in getattr(bits, prefix).items():
-               print " [%s] = \"%s\"," % (name, name)
-       print "};"
-       print ""
+       print("static const char * const %s_map[%s_MAX + 1] = {" % (prefix, prefix.upper()))
+       print(" [0 ... %s_MAX] = NULL," % prefix.upper())
+       for val, name in list(getattr(bits, prefix).items()):
+               print(" [%s] = \"%s\"," % (name, name))
+       print("};")
+       print("")
 
 def print_python_bits(bits, prefix):
        if  not hasattr(bits, prefix):
                return
 
-       print "%s_map = {" % (prefix)
-       for val, name in getattr(bits, prefix).items():
-               print " %d : \"%s\"," % (val, name)
-       print "}"
-       print "for k, v in %s_map.items():" % (prefix)
-       print " %s_map[v] = k" % (prefix)
-       print ""
+       print("%s_map = {" % (prefix))
+       for val, name in list(getattr(bits, prefix).items()):
+               print(" %d : \"%s\"," % (val, name))
+       print("}")
+       print("for k, v in %s_map.items():" % (prefix))
+       print(" %s_map[v] = k" % (prefix))
+       print("")
 
 def print_map(bits):
-       print "static const char * const * const event_type_map[EV_MAX + 1] = {"
-       print " [0 ... EV_MAX] = NULL,"
+       print("static const char * const * const event_type_map[EV_MAX + 1] = {")
+       print(" [0 ... EV_MAX] = NULL,")
 
        for prefix in prefixes:
                if prefix == "BTN_" or prefix == "EV_" or prefix == "INPUT_PROP_":
                        continue
-               print " [EV_%s] = %s_map," % (prefix[:-1], prefix[:-1].lower())
+               print(" [EV_%s] = %s_map," % (prefix[:-1], prefix[:-1].lower()))
 
-       print "};"
-       print ""
+       print("};")
+       print("")
 
-       print "static const int ev_max[EV_MAX + 1] = {"
-       print " [0 ... EV_MAX] = -1,"
+       print("static const int ev_max[EV_MAX + 1] = {")
+       print(" [0 ... EV_MAX] = -1,")
        for prefix in prefixes:
                if prefix == "BTN_" or prefix == "EV_" or prefix == "INPUT_PROP_":
                        continue
-               print " [EV_%s] = %s_MAX," % (prefix[:-1], prefix[:-1])
-       print "};"
-       print ""
+               print(" [EV_%s] = %s_MAX," % (prefix[:-1], prefix[:-1]))
+       print("};")
+       print("")
 
 def print_python_map(bits):
-       print "map = {"
+       print("map = {")
 
-       for val, name in getattr(bits, "ev").items():
+       for val, name in list(getattr(bits, "ev").items()):
                name = name[3:]
                if name == "REP" or name == "PWR"  or name == "FF_STATUS"  or name == "MAX":
                        continue
-               print " %d : %s_map," % (val, name.lower())
+               print(" %d : %s_map," % (val, name.lower()))
 
-       print "}"
-       print ""
+       print("}")
+       print("")
 
 def print_mapping_table(bits):
-       print "/* THIS FILE IS GENERATED, DO NOT EDIT */"
-       print ""
-       print "#ifndef EVENT_NAMES_H"
-       print "#define EVENT_NAMES_H"
-       print ""
-       print "#define SYN_MAX 3 /* linux/input.h doesn't define that */"
-       print ""
+       print("/* THIS FILE IS GENERATED, DO NOT EDIT */")
+       print("")
+       print("#ifndef EVENT_NAMES_H")
+       print("#define EVENT_NAMES_H")
+       print("")
+       print("#define SYN_MAX 3 /* linux/input.h doesn't define that */")
+       print("")
 
        for prefix in prefixes:
                if prefix == "BTN_":
@@ -111,11 +112,11 @@ def print_mapping_table(bits):
 
        print_map(bits)
 
-       print "#endif /* EVENT_NAMES_H */"
+       print("#endif /* EVENT_NAMES_H */")
 
 def print_python_mapping_table(bits):
-       print "# THIS FILE IS GENERATED, DO NOT EDIT"
-       print ""
+       print("# THIS FILE IS GENERATED, DO NOT EDIT")
+       print("")
 
        for prefix in prefixes:
                if prefix == "BTN_":
@@ -124,15 +125,15 @@ def print_python_mapping_table(bits):
 
        print_python_map(bits)
 
-       print "def event_get_type_name(type):"
-       print " return ev_map[type]"
-       print ""
-       print ""
-       print "def event_get_code_name(type, code):"
-       print " if map.has_key(type) and map[type].has_key(code):"
-       print "         return map[type][code]"
-       print " return 'UNKNOWN'"
-       print ""
+       print("def event_get_type_name(type):")
+       print(" return ev_map[type]")
+       print("")
+       print("")
+       print("def event_get_code_name(type, code):")
+       print(" if map.has_key(type) and map[type].has_key(code):")
+       print("         return map[type][code]")
+       print(" return 'UNKNOWN'")
+       print("")
 
 def parse_define(bits, line):
        m = re.match(r"^#define\s+(\w+)\s+(\w+)", line)