From dc83803252c1b84caf4f5fb4ca572f7f610c609d Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Wed, 3 Jun 2009 13:40:24 -0700 Subject: [PATCH] ... --- src/calibre/debug.py | 13 ++++++------- src/calibre/devices/usbms/device.py | 6 +++--- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/src/calibre/debug.py b/src/calibre/debug.py index 6714db0331..62582288e7 100644 --- a/src/calibre/debug.py +++ b/src/calibre/debug.py @@ -87,6 +87,7 @@ def migrate(old, new): print 'Database migrated to', os.path.abspath(new) def debug_device_driver(): + from calibre.customize.ui import device_plugins from calibre.devices.scanner import DeviceScanner s = DeviceScanner() s.scan() @@ -113,17 +114,15 @@ def debug_device_driver(): raw = Device.run_ioreg() open('/tmp/ioreg.txt', 'wb').write(raw) print 'ioreg output saved to /tmp/ioreg.txt' - from calibre.devices import devices - for dev in devices(): - print 'Looking for', dev.__name__ + for dev in device_plugins(): + print 'Looking for', dev.__class__.__name__ connected = s.is_device_connected(dev) if connected: print 'Device Connected:', dev print 'Trying to open device...' - d = dev() - d.open() - print 'Main memory:', repr(d._main_prefix) - print 'Total space:', d.total_space() + dev.open() + print 'Main memory:', repr(dev._main_prefix) + print 'Total space:', dev.total_space() break def add_simple_plugin(path_to_plugin): diff --git a/src/calibre/devices/usbms/device.py b/src/calibre/devices/usbms/device.py index 4a52b1035b..47d8a18cea 100644 --- a/src/calibre/devices/usbms/device.py +++ b/src/calibre/devices/usbms/device.py @@ -342,6 +342,7 @@ class Device(DeviceConfig, DevicePlugin): break else: break + if usb_dir is None: raise DeviceError(_('Unable to detect the %s disk drive.') %self.__class__.__name__) @@ -363,8 +364,8 @@ class Device(DeviceConfig, DevicePlugin): ok[node] = False except: ok[node] = False - devnodes.append(node) - devnodes.sort() + if ok[node]: + devnodes.append(node) devnodes += list(repeat(None, 3)) return tuple(['/dev/'+x if ok.get(x, False) else None for x in devnodes[:3]]) @@ -459,7 +460,6 @@ class Device(DeviceConfig, DevicePlugin): setattr(self, prefix, mp) prefix, typ = '_card_b_prefix', 'cardb' - def open(self): time.sleep(5) self._main_prefix = self._card_a_prefix = self._card_b_prefix = None