Am 25.10.2012 23:46, schrieb Wander Lairson Costa: > > The problem is how to make a backend specific feature available on > final API and keeping it sane for users from other backends. I'm not sure, if you are aware that pyUSB is already doing this: Here the libusb 1.0 backend:
def get_device_descriptor(self, dev): .... dev_desc.bus = _lib.libusb_get_bus_number(dev.devid) dev_desc.address = _lib.libusb_get_device_address(dev.devid) the openusb backend: def get_device_descriptor(self, dev): ... desc.bus = None desc.address = None the libusb 0 backend: def get_device_descriptor(self, dev): return _DeviceDescriptor(dev) My suggestion is to continue this logic: def get_device_descriptor(self, dev): .... dev_desc.bus = _lib.libusb_get_bus_number(dev.devid) dev_desc.address = _lib.libusb_get_device_address(dev.devid) dev_desc.port_number = _lib.libusb_get_port_number(dev.devid) # This is new! If this new line would f*ck up your API, then the API is alread f*cked up, because I'm following only the existing logic in pyUSB. > That said, I think fragmentation is bad, but if you want to fork it, > go ahead, freedom is what OSS is about :) I'm not a friend of fregmentation... Many thinks could be solved by communication and cooperation. Best regards Stefano ------------------------------------------------------------------------------ Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_sfd2d_oct _______________________________________________ pyusb-users mailing list pyusb-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pyusb-users