From 82367fdd9333de1b2f98d29697c8883c5484b4d0 Mon Sep 17 00:00:00 2001 From: Charles Haley <> Date: Mon, 2 Jul 2012 17:08:59 +0200 Subject: [PATCH] Add option to the user-defined device to swap main and card --- src/calibre/devices/user_defined/driver.py | 30 ++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/src/calibre/devices/user_defined/driver.py b/src/calibre/devices/user_defined/driver.py index 6c4e1f77d9..296700d7c8 100644 --- a/src/calibre/devices/user_defined/driver.py +++ b/src/calibre/devices/user_defined/driver.py @@ -66,6 +66,9 @@ class USER_DEFINED(USBMS): _('Card A folder') + ':::

' + _('Enter the folder where the books are to be stored. This folder ' 'is prepended to any send_to_device template') + '

', + _('Swap main and card A') + ':::

' + + _('Check this box if the device\'s main memory is being seen as ' + 'card a and the card is being seen as main memory') + '

', ] EXTRA_CUSTOMIZATION_DEFAULT = [ '0xffff', @@ -78,16 +81,19 @@ class USER_DEFINED(USBMS): '', '', '', + False, ] OPT_USB_VENDOR_ID = 0 OPT_USB_PRODUCT_ID = 1 OPT_USB_REVISION_ID = 2 + # OPT 3 isn't used OPT_USB_WINDOWS_MM_VEN_ID = 4 OPT_USB_WINDOWS_MM_ID = 5 OPT_USB_WINDOWS_CA_VEN_ID = 6 OPT_USB_WINDOWS_CA_ID = 7 OPT_MAIN_MEM_FOLDER = 8 OPT_CARD_A_FOLDER = 9 + OPT_SWAP_MAIN_AND_CARD = 10 def initialize(self): self.plugin_needs_delayed_initialization = True @@ -113,4 +119,28 @@ class USER_DEFINED(USBMS): traceback.print_exc() self.plugin_needs_delayed_initialization = False + def windows_sort_drives(self, drives): + + if len(drives) < 2: return drives + e = self.settings().extra_customization + if not e[self.OPT_SWAP_MAIN_AND_CARD]: + return drives + main = drives.get('main', None) + carda = drives.get('carda', None) + if main and carda: + drives['main'] = carda + drives['carda'] = main + return drives + + def linux_swap_drives(self, drives): + if len(drives) < 2 or not drives[1] or not drives[2]: return drives + e = self.settings().extra_customization + if not e[self.OPT_SWAP_MAIN_AND_CARD]: + return drives + drives = list(drives) + t = drives[0] + drives[0] = drives[1] + drives[1] = t + return tuple(drives) +