From 7999b3c188185e862a7ad08185eabb754550b06c Mon Sep 17 00:00:00 2001 From: John Schember Date: Mon, 15 Jun 2009 19:22:49 -0400 Subject: [PATCH] Possible fix for only detecting BeBook main memory and not card. --- src/calibre/devices/bebook/driver.py | 4 ++++ src/calibre/devices/usbms/device.py | 10 +++++----- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/calibre/devices/bebook/driver.py b/src/calibre/devices/bebook/driver.py index c732fb0d58..2fb756b532 100644 --- a/src/calibre/devices/bebook/driver.py +++ b/src/calibre/devices/bebook/driver.py @@ -44,6 +44,10 @@ class BEBOOK(USBMS): drives['main'] = card drives['carda'] = main + if card and not main: + drives['main'] = card + drives['carda'] = None + return drives def osx_sort_names(self, names): diff --git a/src/calibre/devices/usbms/device.py b/src/calibre/devices/usbms/device.py index 8d2c6631a0..6450b5e33c 100644 --- a/src/calibre/devices/usbms/device.py +++ b/src/calibre/devices/usbms/device.py @@ -235,12 +235,12 @@ class Device(DeviceConfig, DevicePlugin): wmi = __import__('wmi', globals(), locals(), [], -1) c = wmi.WMI(find_classes=False) for drive in c.Win32_DiskDrive(): - if self.windows_match_device(drive, 'WINDOWS_CARD_A_MEM'): - drives['carda'] = self.windows_get_drive_prefix(drive) - elif self.windows_match_device(drive, 'WINDOWS_CARD_B_MEM'): - drives['cardb'] = self.windows_get_drive_prefix(drive) - elif self.windows_match_device(drive, 'WINDOWS_MAIN_MEM'): + if self.windows_match_device(drive, 'WINDOWS_MAIN_MEM') and not drives.get('main', None): drives['main'] = self.windows_get_drive_prefix(drive) + elif self.windows_match_device(drive, 'WINDOWS_CARD_A_MEM') and not drives.get('carda', None): + drives['carda'] = self.windows_get_drive_prefix(drive) + elif self.windows_match_device(drive, 'WINDOWS_CARD_B_MEM') and not drives.get('cardb', None): + drives['cardb'] = self.windows_get_drive_prefix(drive) if 'main' in drives.keys() and 'carda' in drives.keys() and \ 'cardb' in drives.keys(): break