tools: replay: allow for missing quirks entry in libinput recordings
authorPeter Hutterer <peter.hutterer@who-t.net>
Fri, 22 May 2020 03:15:24 +0000 (13:15 +1000)
committerPeter Hutterer <peter.hutterer@who-t.net>
Fri, 22 May 2020 03:41:05 +0000 (03:41 +0000)
Older recordings don't have that field so we should just ignore that
case.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
tools/libinput-replay

index fd6567e609399e4ee7c875d31ee60454cab24e3a..4835903ab50ef666f9189d5a4c5ec7805f6485b9 100755 (executable)
@@ -196,8 +196,11 @@ def loop(args, recording):
 
 
 def create_device_quirk(device):
-    quirks = fetch(device, 'quirks')
-    if not quirks:
+    try:
+        quirks = fetch(device, 'quirks')
+        if not quirks:
+            return None
+    except YamlException:
         return None
     # Where the device has a quirk, we match on name, vendor and product.
     # That's the best match we can assemble here from the info we have.
@@ -215,7 +218,7 @@ def create_device_quirk(device):
 def setup_quirks(recording):
     devices = fetch(recording, 'devices')
     overrides = None
-    quirks = [create_device_quirk(d) for d in devices if fetch(d, 'quirks')]
+    quirks = [create_device_quirk(d) for d in devices if 'quirks' in d]
     if not quirks:
         return None