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

Reply via email to