From 78adde19275fd70fce9f987aba9d3537dfc8e385 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?"J.=20F=C3=A9lix=20Onta=C3=B1=C3=B3n"?= Date: Sat, 27 Aug 2011 13:34:48 +0200 Subject: [PATCH 5/7] [s][core] Bugfix lp:832655 related with a bad handle of unknow usb/pci class codes --- udevdiscover/device/pci.py | 5 ++++- udevdiscover/device/usb.py | 7 +++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/udevdiscover/device/pci.py b/udevdiscover/device/pci.py index f435c52..79a530e 100644 --- a/udevdiscover/device/pci.py +++ b/udevdiscover/device/pci.py @@ -205,7 +205,10 @@ def get_pci_short_long_names(pci_class, pci_subclass, pci_protocol): else: key.append(pci_protocol) - return pci_class_names[tuple(key)] + if pci_class_names.has_key(tuple(key)): + return pci_class_names[tuple(key)] + else: + return pci_class_names[(pci_class, -1, -1)] @memoized def get_pci_vendor_model_names(sysfs_path): diff --git a/udevdiscover/device/usb.py b/udevdiscover/device/usb.py index e2bf26d..dd8a5de 100644 --- a/udevdiscover/device/usb.py +++ b/udevdiscover/device/usb.py @@ -162,7 +162,7 @@ def get_usb_short_long_names(usb_class, usb_subclass, usb_protocol): return None, None subklasses = [s for s in klasses if s[1] == usb_subclass] - + if not subklasses: key.append(-1) else: @@ -173,7 +173,10 @@ def get_usb_short_long_names(usb_class, usb_subclass, usb_protocol): else: key.append(usb_protocol) - return usb_class_names[tuple(key)] + if usb_class_names.has_key(tuple(key)): + return usb_class_names[tuple(key)] + else: + return usb_class_names[(usb_class, -1, -1)] @memoized def get_usb_vendor_model_names(sysfs_path): -- 1.7.6.1