Пример #1
0
def __device_added(observer, device):
    if "uevent" in device.attributes:
        uevent = g15pythonlang.parse_as_properties(device.attributes["uevent"])
        if "PRODUCT" in uevent:
            if "subsystem" in device.attributes and device.attributes["subsystem"] == "usb":
                major,minor,_ = uevent["PRODUCT"].split("/")
            else:
                _,major,minor,_ = uevent["PRODUCT"].split("/")
            for c in device_list:
                device_info = device_list[c]
                usb_id = (int(major, 16), int(minor, 16))
                if device_info.matches(usb_id):
                    if not _get_cached_device_by_usb_id(usb_id):
                        del __cached_devices[:]
                        find_all_devices()
                        for r in reversed(__cached_devices):
                            if r.usb_id == usb_id:
                                logger.info("Added device %s", r)
                                for l in device_added_listeners:
                                    l(r)
                                break
                    break
Пример #2
0
def parse_as_properties(properties_string):
    return g15pythonlang.parse_as_properties(properties_string)