summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2014-08-08 15:05:29 +1000
committerBenjamin Tissoires <benjamin.tissoires@gmail.com>2014-08-08 10:19:39 -0400
commit9e293c636fc7ac93d89a25055329d2c7363d89e5 (patch)
treeaccab6a1f70efc5f8405d5c2536ea4e3adfe9686 /src
parent6187842ddefbeb6a5ca9370ed974f9cf56fda27c (diff)
make-event-names: replace get_code/type_name functions with a unified set
Python has default arguments, so we can have a function that does the right thing depending on the arguments passed in. And have two functions that explicitly fetch the name, or value, for an event. So now we can do things like t = event_get_value("EV_ABS") c = event_get_value("EV_ABS", "ABS_X") t = event_get_name(0x02) c = event_get_name(0x02, 0x03) c = event_get_name("EV_ABS", 0x03) Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
Diffstat (limited to 'src')
-rwxr-xr-xsrc/make-event-names.py36
1 files changed, 27 insertions, 9 deletions
diff --git a/src/make-event-names.py b/src/make-event-names.py
index 5fef9a6..e1a4f3d 100755
--- a/src/make-event-names.py
+++ b/src/make-event-names.py
@@ -101,15 +101,33 @@ def print_python_mapping_table(bits):
print_python_map(bits)
p("""
- def event_get_type_name(type):
- return ev_map[type]
-
-
- def event_get_code_name(type, code):
- try:
- return map[type][code]
- except KeyError:
- return 'UNKNOWN'
+ def event_get_name(event_type, event_code = None):
+ '''
+ Returns the event type or code name.
+ '''
+ if event_code == None:
+ if type(event_type) != int:
+ raise TypeError("expected an int")
+ return ev_map[event_type]
+
+ if type(event_code) != int:
+ raise TypeError("expected an int")
+
+ return map[event_type][event_code]
+
+ def event_get_value(event_type, event_code = None):
+ '''
+ Returns the event type or code value.
+ '''
+ if event_code == None:
+ if type(event_type) != str:
+ raise TypeError("expected a string")
+ return ev_map[event_type]
+
+ if type(event_code) != str:
+ raise TypeError("expected a string")
+
+ return map[event_type][event_code]
""")
def parse_define(bits, line):