diff options
author | Peter Hutterer <peter.hutterer@who-t.net> | 2014-08-08 15:05:29 +1000 |
---|---|---|
committer | Benjamin Tissoires <benjamin.tissoires@gmail.com> | 2014-08-08 10:19:39 -0400 |
commit | 9e293c636fc7ac93d89a25055329d2c7363d89e5 (patch) | |
tree | accab6a1f70efc5f8405d5c2536ea4e3adfe9686 /src | |
parent | 6187842ddefbeb6a5ca9370ed974f9cf56fda27c (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-x | src/make-event-names.py | 36 |
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): |