From e9c01f2226922f297edc3d873b2260cf5003dfc8 Mon Sep 17 00:00:00 2001 From: John Schember Date: Sat, 26 Dec 2009 19:02:32 -0500 Subject: [PATCH] Rename BeBook driver to Hanlin to avoid confustion as it supports the EZReader, and LBook in addition to the BeBook. Move Boox and have it subclass Hanlin driver as it uses 90% of the Hanlin driver's code. --- src/calibre/customize/builtins.py | 7 +- src/calibre/devices/boox/__init__.py | 0 src/calibre/devices/boox/driver.py | 87 ------------------- .../devices/{bebook => hanlin}/__init__.py | 0 .../devices/{bebook => hanlin}/driver.py | 54 ++++++++---- 5 files changed, 41 insertions(+), 107 deletions(-) delete mode 100644 src/calibre/devices/boox/__init__.py delete mode 100644 src/calibre/devices/boox/driver.py rename src/calibre/devices/{bebook => hanlin}/__init__.py (100%) rename src/calibre/devices/{bebook => hanlin}/driver.py (61%) diff --git a/src/calibre/customize/builtins.py b/src/calibre/customize/builtins.py index 5b95f8f489..5f65e0f11d 100644 --- a/src/calibre/customize/builtins.py +++ b/src/calibre/customize/builtins.py @@ -400,7 +400,7 @@ from calibre.ebooks.txt.output import TXTOutput from calibre.customize.profiles import input_profiles, output_profiles -from calibre.devices.bebook.driver import BEBOOK, BEBOOK_MINI +from calibre.devices.hanlin.driver import HANLINV3, HANLINV5, BOOX from calibre.devices.blackberry.driver import BLACKBERRY from calibre.devices.cybookg3.driver import CYBOOKG3, CYBOOK_OPUS from calibre.devices.eb600.driver import EB600, COOL_ER, SHINEBOOK, \ @@ -417,7 +417,6 @@ from calibre.devices.nokia.driver import N770, N810 from calibre.devices.eslick.driver import ESLICK from calibre.devices.nuut2.driver import NUUT2 from calibre.devices.iriver.driver import IRIVER_STORY -from calibre.devices.boox.driver import BOOX from calibre.ebooks.metadata.fetch import GoogleBooks, ISBNDB, Amazon plugins = [HTML2ZIP, PML2PMLZ, GoogleBooks, ISBNDB, Amazon] @@ -455,8 +454,8 @@ plugins += [ TXTOutput, ] plugins += [ - BEBOOK, - BEBOOK_MINI, + HANLINV3, + HANLINV5, BLACKBERRY, CYBOOKG3, ILIAD, diff --git a/src/calibre/devices/boox/__init__.py b/src/calibre/devices/boox/__init__.py deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/src/calibre/devices/boox/driver.py b/src/calibre/devices/boox/driver.py deleted file mode 100644 index 85495c459c..0000000000 --- a/src/calibre/devices/boox/driver.py +++ /dev/null @@ -1,87 +0,0 @@ -__license__ = 'GPL v3' -__copyright__ = '2009, Jesus Manuel Marinho Valcarce ' -__docformat__ = 'restructuredtext en' - -''' -Device driver for BOOX -''' - -import re - -from calibre.devices.usbms.driver import USBMS - -class BOOX(USBMS): - - name = 'BOOX driver' - gui_name = 'BOOX' - description = _('Communicate with the BOOX eBook reader.') - author = 'Jesus Manuel Marinho Valcarce' - supported_platforms = ['windows', 'osx', 'linux'] - - # Ordered list of supported formats - FORMATS = ['ebub', 'pdf', 'html', 'txt', 'rtf', 'mobi', 'prc', 'chm'] - - VENDOR_ID = [0x0525] - PRODUCT_ID = [0xa4a5] - BCD = [0x322] - - VENDOR_NAME = 'Linux 2.6.26-466-ga04670e with fsl-usb2-udc' - WINDOWS_MAIN_MEM = 'FILE-STOR_GADGET' - WINDOWS_CARD_A_MEM = 'FILE-STOR_GADGET' - - OSX_MAIN_MEM = 'Linux File-Stor Gadget Media' - OSX_CARD_A_MEM = 'Linux File-Stor Gadget Media' - - MAIN_MEMORY_VOLUME_LABEL = 'BOOX Internal Memory' - STORAGE_CARD_VOLUME_LABEL = 'BOOX Storage Card' - - EBOOK_DIR_MAIN = 'MyBooks' - EBOOK_DIR_CARD_A = 'MyBooks' - SUPPORTS_SUB_DIRS = True - - def windows_sort_drives(self, drives): - main = drives.get('main', None) - card = drives.get('carda', None) - if card and main and card > main: - 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): - main = names.get('main', None) - card = names.get('carda', None) - - try: - main_num = int(re.findall('\d+', main)[0]) if main else None - except: - main_num = None - try: - card_num = int(re.findall('\d+', card)[0]) if card else None - except: - card_num = None - - if card_num is not None and main_num is not None and card_num > main_num: - names['main'] = card - names['carda'] = main - - if card and not main: - names['main'] = card - names['carda'] = None - - return names - - def linux_swap_drives(self, drives): - if len(drives) < 2: return drives - drives = list(drives) - t = drives[0] - drives[0] = drives[1] - drives[1] = t - return tuple(drives) - - - diff --git a/src/calibre/devices/bebook/__init__.py b/src/calibre/devices/hanlin/__init__.py similarity index 100% rename from src/calibre/devices/bebook/__init__.py rename to src/calibre/devices/hanlin/__init__.py diff --git a/src/calibre/devices/bebook/driver.py b/src/calibre/devices/hanlin/driver.py similarity index 61% rename from src/calibre/devices/bebook/driver.py rename to src/calibre/devices/hanlin/driver.py index aa2a794c5c..79b17acde2 100644 --- a/src/calibre/devices/bebook/driver.py +++ b/src/calibre/devices/hanlin/driver.py @@ -5,23 +5,23 @@ __copyright__ = '2009, Tijmen Ruizendaal ' __docformat__ = 'restructuredtext en' ''' -Device driver for BeBook +Device driver for Hanlin ''' import re from calibre.devices.usbms.driver import USBMS -class BEBOOK(USBMS): +class HANLINV3(USBMS): - name = 'BeBook driver' - gui_name = 'BeBook' - description = _('Communicate with the BeBook eBook reader.') + name = 'Hanlin V3 driver' + gui_name = 'Hanlin V3' + description = _('Communicate with Hanlin V3 eBook readers.') author = 'Tijmen Ruizendaal' supported_platforms = ['windows', 'osx', 'linux'] # Ordered list of supported formats - FORMATS = ['mobi', 'epub', 'fb2', 'lit', 'prc', 'pdf', 'rtf', 'txt'] + FORMATS = ['epub', 'mobi', 'fb2', 'lit', 'prc', 'pdf', 'rtf', 'txt'] VENDOR_ID = [0x0525] PRODUCT_ID = [0x8803, 0x6803] @@ -34,8 +34,8 @@ class BEBOOK(USBMS): OSX_MAIN_MEM = 'Linux File-Stor Gadget Media' OSX_CARD_A_MEM = 'Linux File-Stor Gadget Media' - MAIN_MEMORY_VOLUME_LABEL = 'BeBook Internal Memory' - STORAGE_CARD_VOLUME_LABEL = 'BeBook Storage Card' + MAIN_MEMORY_VOLUME_LABEL = 'Hanlin V3 Internal Memory' + STORAGE_CARD_VOLUME_LABEL = 'Hanlin V3 Storage Card' SUPPORTS_SUB_DIRS = True @@ -89,18 +89,40 @@ class BEBOOK(USBMS): return tuple(drives) -class BEBOOK_MINI(BEBOOK): - name = 'BeBook Mini driver' - gui_name = 'BeBook Mini' - description = _('Communicate with the BeBook Mini eBook reader.') +class HANLINV5(HANLINV3): + name = 'Hanlin V5 driver' + gui_name = 'Hanlin V5' + description = _('Communicate with Hanlin V5 eBook readers.') VENDOR_ID = [0x0492] PRODUCT_ID = [0x8813] BCD = [0x319] - OSX_MAIN_MEM = 'BeBook Mini Internal Memory' - OSX_CARD_MEM = 'BeBook Mini Storage Card' + OSX_MAIN_MEM = 'Hanlin V5 Internal Memory' + OSX_CARD_MEM = 'Hanlin V5 Storage Card' - MAIN_MEMORY_VOLUME_LABEL = 'BeBook Mini Internal Memory' - STORAGE_CARD_VOLUME_LABEL = 'BeBook Mini Storage Card' + MAIN_MEMORY_VOLUME_LABEL = 'Hanlin V5 Internal Memory' + STORAGE_CARD_VOLUME_LABEL = 'Hanlin V5 Storage Card' + + +class BOOX(HANLINV3): + + name = 'BOOX driver' + gui_name = 'BOOX' + description = _('Communicate with the BOOX eBook reader.') + author = 'Jesus Manuel Marinho Valcarce' + supported_platforms = ['windows', 'osx', 'linux'] + + # Ordered list of supported formats + FORMATS = ['ebub', 'pdf', 'html', 'txt', 'rtf', 'mobi', 'prc', 'chm'] + + VENDOR_ID = [0x0525] + PRODUCT_ID = [0xa4a5] + BCD = [0x322] + + MAIN_MEMORY_VOLUME_LABEL = 'BOOX Internal Memory' + STORAGE_CARD_VOLUME_LABEL = 'BOOX Storage Card' + + EBOOK_DIR_MAIN = 'MyBooks' + EBOOK_DIR_CARD_A = 'MyBooks'