diff --git a/src/calibre/devices/__init__.py b/src/calibre/devices/__init__.py index 4f71d39651..7cf98913f3 100644 --- a/src/calibre/devices/__init__.py +++ b/src/calibre/devices/__init__.py @@ -44,7 +44,12 @@ def debug(ioreg_to_tmp=False, buf=None): try: out = partial(prints, file=buf) out('Version:', __version__) + wmi = Wmi =None + if iswindows: + wmi = __import__('wmi', globals(), locals(), [], -1) + Wmi = wmi.WMI(find_classes=False) s = DeviceScanner() + s.wmi = Wmi s.scan() devices = (s.devices) if not iswindows: @@ -54,10 +59,7 @@ def debug(ioreg_to_tmp=False, buf=None): d[i] = hex(d[i]) out('USB devices on system:') out(pprint.pformat(devices)) - wmi = Wmi =None if iswindows: - wmi = __import__('wmi', globals(), locals(), [], -1) - Wmi = wmi.WMI(find_classes=False) drives = [] out('Drives detected:') out('\t', '(ID, Partitions, Drive letter)') @@ -81,7 +83,6 @@ def debug(ioreg_to_tmp=False, buf=None): ioreg = Device.run_ioreg() ioreg = 'Output from mount:\n\n'+mount+'\n\n'+ioreg connected_devices = [] - s.wmi = Wmi for dev in device_plugins(): owmi = getattr(dev, 'wmi', None) dev.wmi = Wmi diff --git a/src/calibre/devices/usbms/device.py b/src/calibre/devices/usbms/device.py index 88f7cb3f19..a4154cbae5 100644 --- a/src/calibre/devices/usbms/device.py +++ b/src/calibre/devices/usbms/device.py @@ -222,6 +222,8 @@ class Device(DeviceConfig, DevicePlugin): for pnp_id in pnp_id_iterator(): if self.windows_match_device(pnp_id, 'WINDOWS_MAIN_MEM'): return True + if debug: + print '\tNo match found in:', pnp_id return False def open_windows(self): diff --git a/src/calibre/gui2/device.py b/src/calibre/gui2/device.py index d302c10d09..23eb33003c 100644 --- a/src/calibre/gui2/device.py +++ b/src/calibre/gui2/device.py @@ -177,7 +177,7 @@ class DeviceManager(Thread): self.wmi = wmi.WMI(find_classes=False) self.scanner.wmi = self.wmi for x in self.devices: - x[0].wmi = self.wmi + x.wmi = self.wmi try: while self.keep_going: self.detect_device()